본문 바로가기
요약정리/하우투파이썬

str: capitalize(), lower(), upper(), casefold(), swapcase(), ...

by JustDoIT 2020. 3. 19.

capitalize()/title()     lower()/casefold()/upper()     swapcase()


 

대소문자를 변환하는 메서드들

 

출처: 픽사베이

 

여기서는 대소문자를 변환할 수 있는 다음 메서드들을 소개합니다. 대부분 매우 직관적이라 구체적인 설명은 딱히 필요하지 않을 것 같습니다.

 

capitalize(), title()

lower(), upper()
casefold()

swapcase()

 

capitalize(), title()

capitalize()는 문자열에서 맨 앞 문자만 대문자로 바꿔 내줍니다. 반면, title()은 각 단어의 첫 문자를 대문자로 바꿔 내줍니다.

 

# str_capitalize.py
gr = 'hello, world!'
print(f"gr: '{gr}'")
print(f"1. gr.capitalize(): {gr.capitalize()}")
print(f"2. gr.title(): {gr.title()}")


# result
gr: 'hello, world!'
1. gr.capitalize(): Hello, world!
2. gr.title(): Hello, World!

 

 

lower(), upper(), casefold()

lower()upper()는 이름 그대로 각각 소문자로, 대문자로 바꿔 내주는 메서드입니다. 한편, casefold()는 살짝 색다른 일을 합니다. 문자열이 영어라면 lower()와 동일한 결과를 내줍니다. 구체적인 결과를 샘플 코드를 참고하세요. 구체적인 설명은 코드 다음에 이어집니다.

 

# str_casefold.py
gr = ('HELLO!', 'hello!', 'Preußen')
print(f"gr: {gr}")
print(f"1. gr[0].lower(): {gr[0].lower()}")
print(f"2. gr[1].upper(): {gr[1].upper()}")
print(f"3. gr[2].lower(): {gr[2].lower()}")
print(f"4. gr[2].casefold(): {gr[2].casefold()}")

# result
gr: ('HELLO!', 'hello!', 'Preußen')
1. gr[0].lower(): hello!
2. gr[1].upper(): HELLO!
3. gr[2].lower(): preußen
4. gr[2].casefold(): preussen

 

1번과 2번은 직관적이라 구체적으로 설명하지 않겠습니다. 3번을 보실까요? 원래 문자열인 'Preußen'에서 'ß'의 이름은 ‘에스체트’입니다. 아시다시피 독일어 대문자입니다. 따라서 lower()로는 소문자로 바뀌지 않습니다. 이럴 때 사용하는 메서드가 바로 casefold()입니다. 'ß'의 소문자는 'ss'라서 4번처럼 결과가 출력되었습니다. 여담으로 'Preußen'은 ‘프로이센’입니다.

 

 

swapcase()

이 메서드는 이름 그대로 소문자는 대문자로, 대문자는 소문자로 바꿔 내줍니다.

 

# str_swapcase.py
gr = 'HELLO, world!'
print(f"gr: '{gr}'")
print(f"gr.swapcase(): {gr.swapcase()}")


# result
gr: 'HELLO, world!'
gr.swapcase(): hello, WORLD!

 

결과가 직관적이라서 구체적인 설명은 생략하겠습니다.

 

여기까지입니다. 읽어 주셔서 고맙습니다.

 

Today is mutant yesterdays.
영리 목적으로는 저자의 허락 없이 편집, 배포하실 수 없습니다.
Authored by justdoit709@gmail.com

댓글