有没有办法区分这两个返回值?
>>> sort([1, 2, 3])
None
>>> dict(a=1).get('b')
None
第一个返回,None
因为没有返回值。第二个None
作为返回值返回。
一个函数return None
,只是返回或允许执行到达该函数的末尾基本上是同一回事。
考虑以下功能:
def func1():
return None
def func2():
pass
def func3():
return
如果现在分解函数的字节码(dis
模块可以做到),我们将看到以下内容
func1():
2 0 LOAD_CONST 0 (None)
3 RETURN_VALUE
func2():
5 0 LOAD_CONST 0 (None)
3 RETURN_VALUE
func3():
8 0 LOAD_CONST 0 (None)
3 RETURN_VALUE
功能相同。因此,即使检查功能本身,也无法区分它们。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句