Q. =
과 ==
은 다른가?
A. 그렇다. 아주 다르다! =
연산자는 변수에 할당하는 연산을, ==
연산자는 피연산자 두 개를 비교해 불형 결과를 생성한다. 이 대답을 이해할 수 있다면 이번 절에서 설명한 내용을 충분히 이해했다고 생각할 수 있다. 두 연산자의 차이점을 친구에게 어떻게 설명할지 생각해보라.
Q. 표현식 a < b < c
로 a
, b
, c
가 순서대로 되어 있는지 검사할 수 있나?
A. 그렇다. 파이썬은 수학에서 널리 사용하는 방식에 따라 a < b < c
처럼 비교 연산을 체이닝(chaining)할 수 있게 지원한다. 그러나 자바와 같은 다른 언어에서는 표현식 a < b < c
는 잘못된 표현식이다. 먼저 하위 표현식 a < b
를 평가해 불형 값을 평가하고 나서 이 불형 값을 숫자 c
와 비교하는데, 불형 값과 숫자를 비교하는 것은 의미가 없기 때문이다. 그러나 이 책에서는 비교 연산자를 체이닝하지 않고, 표현식 (a < b) and (b < c)
을 사용한다.
Q. a = b = c = 17
문장은 변수 세 개를 모두 17
로 설정하는가?
A. 그렇다. 파이썬 할당문은 표현식이 아니지만, 파이썬은 할당문들을 무한히 체이닝할 수 있게 해준다. 그러나 체이닝된 할당문 스타일이 좋지 않다고 생각하는 파이썬 프로그래머들이 많으므로 이 책에서는 체이닝된 할당문을 사용하지 않는다.