[Python] 파이썬에서의 0, False, None

파이썬에서 정수 0, boolean인 False, null로 사용되는 None의 성질이 궁금해져서 테스트해보았다.

zero = 0
false = False
none = None

print(zero == false)  # True
print(false == none)  # False
print(zero == none)  # False

결론적으로 0과 False는 같은 값으로 취급되나 None과는 모두 다른 값으로 취급된다.

zero = 0
false = False
none = None

# print nothing
if zero:
    print('zero')
if false:
    print('false')
if none:
    print('none')

또한 조건문에서는 위의 세 가지 모두 조건이 틀리다고 간주한다.

이는 Python의 if가 (여타 언어들과 마찬가지로) '빈 객체'를 받았을 때에도 False와 같이 취급하기 때문인 것 같다.

# print nothing
if []:
    print('[]')
if '':
    print('')

다음과 같은 경우에도 False가 반환된다.