0 arity的python lambda函数
是否可以使用Python的lambda表示法编写以下内容0 arity的python lambda函数,python,function,lambda,Python,Function,Lambda,是否可以使用Python的lambda表示法编写以下内容 def no():返回 如果没有sytax错误,我能做的最接近的事情是 no=lambda\uu:no 具有以下特性: >>> no <function <lambda> at 0x101e69f80> >>> no(4) <function <lambda> at 0x101e69f80> >>> no(no(4)) <funct
def no():返回
如果没有sytax错误,我能做的最接近的事情是
no=lambda\uu:no
具有以下特性:
>>> no
<function <lambda> at 0x101e69f80>
>>> no(4)
<function <lambda> at 0x101e69f80>
>>> no(no(4))
<function <lambda> at 0x101e69f80>
>>> no == no(no)
True
>>> no == no(4)
True
no == no(no(4))
True
>>> no == 4
no == 4
False
>>否
>>>第(4)号
>>>否(第(4)号)
>>>否==否(否)
真的
>>>否==否(4)
真的
否==否(否(4))
真的
>>>否==4
否==4
假的
相当于
def no():
return
是
显式版本返回None
。由于lambda函数只包含一个表达式,因此等价代码是
no = lambda: None
你在找这个:
lambda: None
这是等效的,因为返回值为空的函数,或仅通过耗尽函数文本退出的函数,返回None
>>> def no1():return
...
>>> no = lambda : None
>>> import dis
>>> dis.dis(no)
1 0 LOAD_GLOBAL 0 (None)
3 RETURN_VALUE
>>> dis.dis(no1)
1 0 LOAD_CONST 0 (None)
3 RETURN_VALUE
>>>
>>> def no1():return
...
>>> no = lambda : None
>>> import dis
>>> dis.dis(no)
1 0 LOAD_GLOBAL 0 (None)
3 RETURN_VALUE
>>> dis.dis(no1)
1 0 LOAD_CONST 0 (None)
3 RETURN_VALUE
>>>