Python

[Python] upper(), lower(), capitalize(), title() 함수 사용법

limsw 2022. 9. 20. 16:11
반응형

서론

이번 글에서는 파이썬을 이용하여 영어로 구성된 문자열을 소문자, 대문자로 바꾸는 방법, 맨 앞의 문자만 대문자로, 나머지는 소문자로 바꾸는 방법, 마지막으로 각 단어의 맨 앞 글자는 대문자로, 나머지는 소문자로 바꾸는 방법에 대해서 간단하게 알아보고자 한다. 글 제목에서 언급했듯이 upper(), lower(), capitalize(), title() 메서드를 사용하여 구현할 수 있다.

영어 문자열을 대문자로 변환하기

영어 문자를 대문자로 변환하기 위해서는 파이썬의 upper() 메서드를 이용하여 구현할 수 있다.

st = "hello, world!"
print(st.upper()) # HELLO, WORLD!

st = "안녕, World!"
print(st.upper()) # 안녕, WORLD!

upper() 메서드는 문자열 내에 포함된 모든 영어 소문자를 영어 대문자로 치환해준다. 이 때, 문자열 내에 포함된 특수기호, 한글, 숫자는 영향을 받지 않는다.

fruit = ["apple", "banana", "kiwi"]
for i in range(len(fruit)):
    fruit[i] = fruit[i].upper()

print(fruit) # ['APPLE', 'BANANA', 'KIWI']

여러 단어로 구성되어 있는 리스트의 경우 반복문을 통해서도 각각의 단어들을 대문자로 치환할 수 있다.

영어 문자열을 소문자로 치환하기

영어 문자를 소문자로 변환할 때에는 lower() 메서드를 이용하여 구현할 수 있다. 사용법은 upper() 메서드와 동일하다.

또한, 특수기호, 한글, 숫자는 영향을 받지 않는다는 점도 upper() 메서드와 동일한 특징을 가지고 있다.

st = "HellO, WorlD!"
print(st.lower()) # hello, world!

st = "안녕, WORLD!"
print(st.lower()) # 안녕, world!

맨 앞 글자는 대문자로, 나머지는 소문자로 치환하기

capitalize() 메서드는 문자열의 맨 앞 글자를 대문자로 치환하고 나머지 문자들은 소문자로 치환하는 함수이다.

st = "hello, world!"
print(st.capitalize()) # Hello, world!

st = "hello, WORLD!"
print(st.capitalize()) # Hello, world!

2번째 출력 결과처럼 맨 앞의 h만 대문자로 치환되었고, 나머지 문자들은 모두 소문자로 치환되어 출력된 것을 확인할 수 있다.

문자열 내 공백 기준으로 각 단어의 첫글자는 대문자로, 나머지는 소문자로 치환하기

title() 메서드는 capitalize() 메서드와 달리 공백(띄어쓰기)을 기준으로 단어를 구분하여 각 단어의 맨 앞 글자를 대문자로 치환하고 나머지 글자는 소문자로 치환해주는 함수이다.

st = "hello, world!"
print(st.title()) # Hello, World!

st = "hello, WORLD!"
print(st.title()) # Hello, World!

2번째 문자열의 경우 hello, 와 WORLD! 로 단어를 구분할 수 있다. 따라서, h와 W가 대문자로 치환되고 나머지 문자들은 소문자로 치환된 결과를 출력했다.