pat*_*ork 7 python boolean boolean-expression
哪个更好?(为什么?)
if somevalue == False:
Run Code Online (Sandbox Code Playgroud)
要么
if somevalue is False:
Run Code Online (Sandbox Code Playgroud)
如果somevalue是字符串,你的答案会改变吗?
而是取决于可以是什么somevalue:如果somevalue可以,则可以检查它是否是布尔值not:
if isinstance(somevalue, bool) and not somevalue
Run Code Online (Sandbox Code Playgroud)
这不依赖于False单身。如果始终是单例,则还可以执行以下操作:
if somevalue is False
Run Code Online (Sandbox Code Playgroud)
但是 Python的PEP8声明您不必关心该类,而只需使用:
if not somevalue
Run Code Online (Sandbox Code Playgroud)
这将评估是否somevalue为“虚假”。请参阅有关真值测试的Python文档。
PEP8指出:
不要使用==将布尔值与True或False进行比较。
并给出以下示例:
Yes: if greeting:
No: if greeting == True:
Worse: if greeting is True:
Run Code Online (Sandbox Code Playgroud)
在您的情况下,它转换为:
Yes: if not greeting:
No: if greeting == False:
Worse: if greeting is False:
Run Code Online (Sandbox Code Playgroud)
请记住,除了空字符串外,每个字符串都被认为是“真实的” ''。
| 归档时间: |
|
| 查看次数: |
7046 次 |
| 最近记录: |