var = False
if not var:
do_thing()
要么
var = False
if var == False:
do_thing()
两者之间有什么区别(如果有一个),一个比另一个快吗?
根据PEP8“编程建议”:
不要使用==将布尔值与True或False进行比较。
- 是:
if greeting:
- 没有:
if greeting == True:
- 更差:
if greeting is True:
您的两个测试都在这里起作用,但通常来说,使用隐式布尔值被认为更“ Pythonic”,因为“真实”与“虚假”通常比True
vs更重要False
。if not var:
正确识别var
为falseNone
或为空序列(通常是您想要的)。
就性能而言,if not var:
将会更快;if var == False:
必须加载var
并False
执行比较,然后执行if
始终执行的隐式布尔测试;if not var:
直接执行隐式布尔测试,无需任何前导。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句