더북(TheBook)

Q&A

 

 

Q. ===은 어떻게 다른가?

A. 조건식에서 실제로 ==을 원하면서 =을 잘못 사용하지 않도록 여기에서 한 번 더 설명하기 위해 이 질문을 넣었다. x = y 문장은 yx에 할당하는 반면 x == y 표현식은 두 변수의 값이 같은지 검사한다. 이 차이점으로 커다란 문제가 발생하면서도 이 문제를 탐지하지 못하는 프로그래밍 언어들이 있다. 그러나 파이썬에서 할당문은 표현식이 아니다. 예를 들어 [프로그램 1.3.8]에서 cash == goal 대신 cash = goal로 잘못 프로그래밍했다면 파이썬 컴파일러는 다음과 같이 코드가 잘못되었음을 알려준다.

% python3 gambler.py 10 20 1000
  File "gambler.py", line 21
    if cash = goal:
            ^
SyntaxError: invalid syntax

 

Q. if, while, for 반복문에서 콜론을 빠트리면 어떻게 되는가?

A. 파이썬 컴파일러가 컴파일할 때 SyntaxError를 발생시킨다.

 

Q. 문장 블록을 들여 쓰는 규칙에는 어떤 것이 있는가?

A. 블록 안의 문장들은 모두 동일하게 들여써야 한다. 그렇지 않으면 파이썬은 컴파일하는 동안 IndentationError를 발생시킨다. 일반적으로 파이썬 프로그래머는 한 단계 들여 쓸 때마다 공백 문자 네 개를 사용하는데, 이 책에서도 이 관례를 따른다.

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