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