0 arity的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

是否可以使用Python的lambda表示法编写以下内容

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
>>>