【发布时间】:2019-01-12 10:34:28
【问题描述】:
var = False
if not var:
do_thing()
或
var = False
if var == False:
do_thing()
这两者有什么区别?(如果有的话) 一个比另一个快吗?
【问题讨论】:
-
没有实际区别;如果您对超精确的分析感兴趣,可以使用dis 了解他们各自的评估方式
-
@user202729:这是关于布尔值,而不是字符串。
-
不同之处在于
not var是可读的并且人们期望你使用什么,而var == False让人们想知道是否还有其他一些你明确想要通过不使用not来排除的虚假值(但不是0,因为0 == False)。 -
当您的输入不是布尔值时,差异就开始了
标签: python boolean boolean-expression