GSA*_*SAT 7 python keyword semantics
我个人想知道使用Pass和None之间的语义差异.我无法找到任何执行上的差异.
PS:我无法在SO中找到任何类似的问题.如果您找到一个,请指出.
谢谢!
pass
是一份声明.因此,它可以在任何地方使用,语句可以用来什么都不做.
None
是一个原子,因此它是最简单的表达形式.它也是"无"的关键字和常量值(唯一的实例NoneType
).因为它是一个表达式,所以在每个地方都有一个表达式是有效的.
通常,pass
用于表示空函数体,如以下示例所示:
def foo():
pass
Run Code Online (Sandbox Code Playgroud)
此函数不执行任何操作,因为它的唯一语句是无操作语句pass
.
由于表达式也是一个有效的函数体,您也可以使用None
以下函数编写:
def foo():
None
Run Code Online (Sandbox Code Playgroud)
虽然函数的行为相同,但它有点不同,因为表达式(虽然常量)仍将被评估(尽管立即被丢弃).