더북(TheBook)

2.6 문자열 연산

일반적으로 문자열에는 수학 연산을 할 수 없다. 문자열이 숫자와 닮아 보여도 다음처럼 쓸 수 없다.

'2'-'1' 'eggs'/'easy' 'third'*'a charm'

하지만 두 가지 예외가 있는데 +*이다.

+ 연산자는 문자열을 연결한다. 즉, 문자열들을 한 줄로 연결해서 결합한다. 예를 보자.

>>> first = 'throat'

>>> second = 'warbler'

>>> first + second

throatwarbler

* 연산자도 문자열에서 동작한다. 문자열에서 *은 반복을 처리한다. 예를 들어 'Spam'*3'SpamSpamSpam'이 된다. 값 중에 하나는 문자열이고, 나머지는 정수여야 한다.

문자열에 +*을 사용하는 것은 덧셈과 곱셈을 사용하는 것과 비슷하다. 4*34+4+4와 같고 'Spam'*3'Spam'+'Spam'+'Spam'과 같다. 반면에 문자열 연결과 반복이 정수 덧셈과 곱셈과 다르다는 점에 중요한 의미가 있다. 덧셈의 속성이 문자열 연결에는 없다고 생각할 수 있을까?

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