더북(TheBook)

이와 같이 조건을 True, False로 구분할 수 없다면 전부 True로 보므로 세 print 함수가 모두 실행됩니다. 하지만 예외도 있습니다. if 다음에 등장하는 값이 정수 0이거나 None일 때입니다.

if 0:
    print("실행되지")
if None:
    print("않습니다.")

파이썬에서는 0과 None 값이 조건으로 올 경우 False로 보기 때문에 조건문이 실행되지 않습니다. None은 다루지는 않았으나 값이 없는 상태를 의미하는 별도의 자료형입니다.

Note ≡


그럼 ‘0도 값이 없는 것 아닌가?’ 하고 생각할 수 있지만 정수 값 0과 아무것도 없는 상태인 None은 다릅니다.

또 주의해야 할 점은 들여쓰기입니다. 2.3절에서 설명한 것처럼 if 조건 아래에 등장하는 코드들의 들여쓰기는 스페이스바를 한 번, 두 번, 세 번, 네 번 이용하거나 탭을 사용하면 되지만 중요한 것은 코드들의 들여쓰기 방식이 동일해야 에러가 발생하지 않습니다.

> if True:
>   print("두 번의 공백을 이용한 들여쓰기")
>     print("네 번의 공백을 이용한 들여쓰기")
(...)
IndentationError: unindent does not match any outer indentation level
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.