더북(TheBook)

즉, 문자열이 불변하다는 규칙을 위반하지 않고도 문자열을 연결하여 ‘수정’할 수 있다. 왜 그럴까? 변수와 데이터 사이에 새로운 객체를 생성하면서 각각 대입했기 때문이다. 다음 예제를 살펴보자.

my_str = 'a'
my_str += 'b'
my_str += 'c'

이 코드는 결국 문자열 'abc'를 만들어서 변수 my_str에 대입한다. 문자열 'abc'가 보이더라도, 어떤 문자열 데이터도 실제로 수정되지 않는다. 이 예제에서는 변수 my_str이 사용되고, 재사용되어서 더 긴 문자열을 갖게 되었다.

이렇게 생각해 보자. 매 문장마다 더 큰 문자열이 생성되었고, 변수 my_str에 대입된 것이다.

파이썬 문자열을 다루려면 중요한 규칙을 기억해야 한다. 파이썬에서 문자열을 인덱스로 조회하면 단일 문자가 반환된다. 파이썬에서 단일 문자는 (C 혹은 C++와 같이) 별도의 타입이 아니다. 그저 길이가 1인 문자열인 셈이다. 이 규칙은 따옴표를 선택하는 것과는 별개의 문제다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.