8.10 문자열 비교
문자열에도 관계 연산자를 사용할 수 있다. 두 문자열이 같은지 알고 싶다면 다음과 같이 쓸 수 있다.
if word == 'banana':
print('All right, bananas.')
단어를 알파벳 순서로 넣을 때도 관계 연산자가 유용하다.
if word < 'banana':
print('Your word, ' + word + ', comes before banana.')
elif word > 'banana':
print('Your word, ' + word + ', comes after banana.')
else:
print('All right, bananas.')
파이썬은 대문자와 소문자를 사람들처럼 다루지 않는다. 즉, 모든 대문자는 모든 소문자 앞에 온다.
Your word, Pineapple, comes before banana.
이 문제를 해결하는 일반적인 방법은 비교하기 전에 모두 소문자로 변환하는 것과 같은 표준 형식으로 문자열을 변환하는 것이다. 파인애플로 무장한 사람을 방어해야 한다는 것을 염두에 둬야 한다.**
** 역주 원문은 “Keep that in mind in case you have to defend yourself against a man armed with a Pineapple.”이다. 파이썬은 귀도 반 로섬 자신이 좋아하는 코미디 <몬티 파이썬의 공중서커스(Monty Python’s Flying Circus)>에서 따온 것이다. 이 코미디의 <신선한 과일을 방어하는 법(Self-Defense Against Fresh Fruit)> 에피소드에 “Now, it’s quite simple to defend yourself against a man armed with a Banana.(이봐, 바나나로 무장한 사람을 방어하는 법은 아주 간단해)”라는 대사가 있고, 저자는 이를 패러디한 것이다. 이 에피소드에서는 바나나로 무장한 사람의 바나나를 떨어뜨려서 재빨리 먹어치우면 무장 해제할 수 있다고 얘기한다. 따라서 우리는 파인애플로 무장한 사람을 방어하려면 항상 모두 소문자 같은 표준 형식으로 문자열을 변환해야 한다.