这里记录一下 Python 中常见的 False 布尔值,以及它们之间的等价性。
主要结论:
- False、0、0.0、0.0j、None、''、[]、{}、()、set() 等的布尔值都为 False。
- 虽然以上的布尔值相同,但只有 False、0、0.0、0.0j 和 False 等价。
- 在 if 环境中判断会自动识别为布尔值。
验证代码:
"""
This code is supported by the website: https://www.guanjihuan.com
The newest version of this code is on the web page: https://www.guanjihuan.com/archives/45201
"""
# False 布尔值
print(bool(False))
print(bool(0))
print(bool(0.0))
print(bool(0.0j))
print(bool(None))
print(bool(''))
print(bool([]))
print(bool({}))
print(bool(()))
print(bool(set()))
print()
# 虽然布尔值相同,但只有 False, 0, 0.0, 0.0j 和 False 等价
print(False==False) # True
print(False==0) # True
print(False==0.0) # True
print(False==0.0j) # True
print(False==None) # False
print(False=='') # False
print(False==[]) # False
print(False=={}) # False
print(False==()) # False
print(False==set()) # False
print()
def true_or_false(a):
if a:
print('True')
else:
print('False')
# 'if' 环境中的 False 测试
true_or_false(False)
true_or_false(0)
true_or_false(0.0)
true_or_false(0.0j)
true_or_false(None)
true_or_false('')
true_or_false([])
true_or_false({})
true_or_false(())
true_or_false(set())
print()
# 'if' 环境中的 True 测试
true_or_false(True)
true_or_false('True')
true_or_false('False')
true_or_false('a')
true_or_false(1)
true_or_false(-1)
true_or_false(2)
print()
运行结果:
False
False
False
False
False
False
False
False
False
False
True
True
True
True
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
True
True
True
True
True
True
True
【说明:本站主要是个人笔记和代码的分享,内容可能会不定期修改。目前文章支持直接转载,引用或转载请注明出处:https://www.guanjihuan.com 。本站采用知识共享署名许可协议 CC BY】