더북(TheBook)

innot in은 한 문자보다 더 많은 문자를 지니고 있는 부분 문자열을 테스트하는 데도 사용할 수 있다. 이 경우 전체 부분 문자열을 포함하고 있어야 True가 반환된다.

'bad' in 'a bad dog'    # 참!

in 연산자는 모든 문자열이 빈 문자열('')을 포함하고 있다고 생각하는 반면, 모든 리스트가 빈 리스트를 항목으로 가지고 있다고 생각하지는 않는다. 이 차이점을 기억하기 바란다.

print('' in 'cat')        # True 출력
print([] in [1, 2, 3])    # False 출력

단일-문자 연산자가 중요한 또 다른 영역은 for 루프와 순회다. 리스트를 순회하면 각 항목을 반환하는 반면, 문자열을 순회하면 문자열에 포함된 각각의 문자를 반환한다. 다시 한 번 언급하지만, 이 문자는 별도의 ‘문자’ 타입 객체가 아니라 길이가 1인 문자열이다.

s = 'Cat'
for ch in s:
    print(ch, ', type:', type(ch))
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.