더북(TheBook)

2.10 대·소문자 변환 메서드

앞 절에서 살펴본 메서드들은 대·소문자 유무를 테스트했다. 이 절의 메서드들은 대·소문자를 변환하여 새로운 문자열을 만든다.

문자열.lower()        # 모두 소문자인 문자열을 생성한다.
문자열.upper()        # 모두 대문자인 문자열을 생성한다.
문자열.title()        # 'foo foo'.title() => 'Foo Foo'
문자열.swapcase()     # 대소문자를 서로 변경한다.

lowerupper 메서드의 동작 방식은 복잡하지 않다. 첫 번째 메서드는 모든 대문자를 소문자로 변경한다. 두 번째 메서드는 소문자를 대문자로 바꾼다. 두 메서드 모두 글자가 아닌 문자는 그대로 유지된다.

변환을 하고 나면 신규 문자열을 반환한다. 기존 문자열 데이터는 불변이며, ‘기존 값’이 변경되지는 않는다. 하지만 다음 예제는 동일한 변수에 새로운 객체를 대입하고 있기 때문에 마치 기존 값을 변경하는 것처럼 보인다.

my_str = "I'm Henry VIII, I am!"
new_str = my_str.upper()
my_str = new_str
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.