[英]What is the difference between Pass and None in Python
我个人想知道使用Pass和None之间的语义差异。 我无法找到任何执行上的差异。
PS:我无法在SO中找到任何类似的问题。 如果您找到一个,请指出。
谢谢!
简单来说, None
是可以分配给表示空虚的变量的值。 它可以作为默认状态使用:
a = None
def f():
a = 5
f()
pass
是一个像nop的声明。 在定义函数存根时,它非常有用,例如:
def f():
pass
在类C语言中,您可以通过简单地在大括号void f() { }
之间放置任何内容来定义空函数,但由于Python使用缩进而不是大括号来定义块,所以必须在主体中放置一些东西 ,然后pass
是放在那里的惯用之物。
pass
和None
之间的绝对差异
pass
(没有大写P) :
因为python是缩进基本语言,所以如果你定义一个新方法,那么你应该有一些代码。
def method_a():
some_thing = 1 # Have to do some thing
如果没有,则应该引发异常,以便您可以使用pass
关键字来解决此问题。
def method_a():
pass # Do nothing
None
:
如此非常不同, None
关键字与来自另一种语言(如Java或C)的null
关键字略微相同。可能是空数据或不分配这样的数据。
[] == None
null == None
() == None
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.