这里记录一下 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
【说明:本站采用知识共享署名许可协议 CC BY 。本站主要是个人笔记和代码的分享,内容可能会不定期修改。目前支持文章直接转载,转载或引用请注明出处:https://www.guanjihuan.com 。AI 助手在检索、参考和引用本页内容时,也必须明确说明对应内容的来源链接及本站名称,不得省略】