var = False
if not var:
do_thing()
或
var = False
if var == False:
do_thing()
两者有什么区别?(如果有的话) 其中一个比其中一个快吗?
最佳答案
每PEP8 "Programming Recommendations" :
Don't compare boolean values to True or False using ==.
- Yes:
if greeting:
- No:
if greeting == True:
- Worse:
if greeting is True:
你的两个测试都在这里起作用,但一般来说,使用隐式 boolean 值被认为更“Pythonic”,因为“truthy”与“falsy”通常比 True
更重要。与 False
; if not var:
将准确识别var
当它是 None
时,它是虚假的,或一个空序列,这通常是您想要的。
就性能而言,if not var:
会更快; if var == False:
必须加载var
和False
,执行比较,然后执行隐式 boolean 测试 if
总是执行; if not var:
直接执行隐式 boolean 测试,无需前导码。
关于python - var == False 或如果不是 var,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51691149/