더북(TheBook)

Q. ===은 다른가?

A. 그렇다. 아주 다르다! = 연산자는 변수에 할당하는 연산을, == 연산자는 피연산자 두 개를 비교해 불형 결과를 생성한다. 이 대답을 이해할 수 있다면 이번 절에서 설명한 내용을 충분히 이해했다고 생각할 수 있다. 두 연산자의 차이점을 친구에게 어떻게 설명할지 생각해보라.

 

Q. 표현식 a < b < ca, 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. 그렇다. 파이썬 할당문은 표현식이 아니지만, 파이썬은 할당문들을 무한히 체이닝할 수 있게 해준다. 그러나 체이닝된 할당문 스타일이 좋지 않다고 생각하는 파이썬 프로그래머들이 많으므로 이 책에서는 체이닝된 할당문을 사용하지 않는다.

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