什么是检查 False 的正确方式?
什么是检查 False 的正确方式?
这个问题已经有了答案:
哪种方法更好?(为什么?)
if somevalue == False:
还是
if somevalue is False:
如果 somevalue
是一个字符串,你的答案会改变吗?
admin 更改状态以发布 2023年5月21日
这取决于 somevalue
可以是什么:如果 somevalue
可以是任何值,你可以检查它是否是布尔值且不是 False
:
if isinstance(somevalue, bool) and not somevalue
这不依赖于 False
是否是唯一实例。如果它总是唯一实例,你也可以这样做:
if somevalue is False
但是 Python 的 PEP8 规范声明你不应该关心类的问题,而应该直接使用:
if not somevalue
如果 somevalue
是“Falsy”值则会进行求值。请查看Python关于Truth 值测试的文档。
PEP8 规范声明:
不要使用==将布尔值与True或False进行比较。
并提供了这些示例:
Yes: if greeting: No: if greeting == True: Worse: if greeting is True:
在你的情况下,这转换成:
Yes: if not greeting: No: if greeting == False: Worse: if greeting is False:
请记住,每个字符串都被视为“Truthy”,除了空字符串 ''
。