小编典典

检查错误的正确方法是什么?

python

哪个更好?(为什么?)

if somevalue == False:

要么

if somevalue is False:

如果somevalue是字符串,您的答案会改变吗?


阅读 117

收藏
2021-01-20

共1个答案

小编典典

而是取决于可以是什么somevalue:如果somevalue可以,则可以检查它是否是布尔值not

if isinstance(somevalue, bool) and not somevalue

这不依赖于False单身。如果始终是单例,则还可以执行以下操作:

if somevalue is False

但是 Python的PEP8声明您不必关心该类,而只需使用:

if not somevalue

这将评估是否somevalue为“虚假”。请参阅有关真值测试的Python文档

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:

请记住,除了空字符串外,每个字符串都被认为是“真实的” ''

2021-01-20