파이썬에서 'title()'과 'capitalize()'은 문자열의 메서드(method)로, 첫 문자를 대문자 나머지 문자는 소문자로 변환하는 역할이다. 그러나 각각의 메서드는 약간 다른 변환 방식을 가지고 있습니다.
1. title()
- 'title()' 메서드는 문자열을 공백을 기준으로 각 단어의 첫 알파벳 문자를 대문자로, 나머지 문자를 소문자로 변환하여 반환한다.
- 각 단어의 시작이 특수문자나 숫자여도 첫 알파벳 문자를 대문자로 변환합니다.
text1 = "hello world"
title_text1 = text1.title()
print(title_text1) # 출력: "Hello World"
#공백을 기준으로 hello와 world로 나눠지는데 두 단어 모두 첫 번째 문자가 대문자로 바뀐걸 볼 수 있다.
text2 = "!hello 2world"
title_text2 = text2.title()
print(title_text2) # 출력: "!Hello 2World"
#각 단어가 첫 번째 알파벳 문자를 찾아내어 대문자로 바꿔준다.
2. capitalize()
- 'capitalize()' 메서드는 문자열의 첫 번째 문자를 대문자로, 나머지 문자를 소문자로 변환하여 반환합니다.
- 문자열의 첫 번째 문자가 숫자나 특수문자일경우 변환하지 않습니다.
text1 = "hello world"
capitalize_text1 = text1.capitalize()
print(capitalize_text1) # 출력: "Hello world"
#문자열의 첫 번째 문자만 대문자로 바꾸어준다.
text2 = "!hello 2world"
capitalize_text2 = text2.capitalize()
print(capitalize_text2) # 출력: "!hello 2world"
#첫 번째 문자가 숫자나 특수문자일경우 바꿔지지 않는다.
★ 주의할 점
'title()'와 'capitalize()' 메서드는 원본 문자열을 변경하지 않고 새로운 문자열을 반환한다는 것입니다.
문자열은 불변(immutable) 객체이기 때문에 메서드를 호출해도 원본 문자열이 변경되지 않습니다.
따라서 변환된 값을 변수에 할당하여 사용해야 합니다.
ㅡㅡㅡㅡㅡㅡㅡㅡ할당Xㅡㅡㅡㅡㅡㅡㅡㅡㅡ
text1 = "hello world"
text1.title()
print(text1) # 출력: "hello world"
text2 = "hello world"
text2.capitalize()
print(text2) # 출력: "hello world"
ㅡㅡㅡㅡㅡㅡㅡㅡ할당Oㅡㅡㅡㅡㅡㅡㅡㅡㅡ
text3 = "hello world"
title_text3 = text3.title()
print(title_text3) # 출력: "Hello World"
text4 = "hello world"
capitalize_text4 = text4.capitalize()
print(capitalize_text4) # 출력: "Hello world"
728x90
'Python' 카테고리의 다른 글
[파이썬] lower | upper (38) | 2023.09.28 |
---|---|
[파이썬] islower | isupper (32) | 2023.09.28 |
[파이썬] swapcase (50) | 2023.09.28 |
[파이썬] count (49) | 2023.09.28 |
[파이썬] f 문자열 | f string (62) | 2023.09.28 |