这里记录一下 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】