【发布时间】:2018-08-10 11:22:11
【问题描述】:
我遇到了一个遗留代码库,它使用 pass 和 None 交换作为空语句。
if True:
pass
if True:
None
由于我们更喜欢在我们的代码库上拥有一致的风格,因此我们希望坚持一个共同的标准。我们需要在pass 和None 之间进行选择。
Python 社区大多推荐使用pass 作为空语句。
https://stackoverflow.com/a/15081801/1051441
但是,如果我们使用None,会有什么副作用吗?
是否有任何理由使用pass 优于None 作为空语句?
What is the difference between Pass and None in Python 谈到了 2 之间的区别。但是,它没有提到为什么 pass 比 None 更可取作为空语句。
【问题讨论】:
-
pass为此目的而明确存在。None存在于不同的目的。使用pass。 -
None是一个创建并立即丢弃None值的语句。pass只是一个 NOOP。 -
@deceze 好吧,
None实际上是一个单例,所以,没有创建/删除。它只是将一个常量加载到堆栈中。 -
@juanpa 很公平,但同样的区别。 :)
标签: python