【发布时间】:2013-04-10 18:35:45
【问题描述】:
在 Python 中我们可以这样做:
if True or blah:
print("it's ok") # will be executed
if blah or True: # will raise a NameError
print("it's not ok")
class Blah:
pass
blah = Blah()
if blah or blah.notexist:
print("it's ok") # also will be executed
- 谁能指点我有关此功能的文档?
- 是语言的实现细节还是特性?
- 利用此功能是一种好的编码风格吗?
【问题讨论】:
-
blah or True不会为我引发异常,它会打印出来。 -
@TimS.:仅当您定义
blahfirst 时。请注意,示例顶部的blah尚未定义,因此会引发NameError。
标签: python boolean short-circuiting