파이썬에서 정수 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가 반환된다.