如何将"lambda:pass"作为关键字参数传递



将lambda作为关键字参数传递可以很容易地作为完成

def foo(bar=lambda x: x):
pass

我想要一个无->无lambda作为默认值:

def foo(bar=lambda: pass):
pass    

但是得到

def foo(bar=lambda: pass):
^
SyntaxError: invalid syntax

如何传递无->没有lambda作为默认关键字参数?

也许pass不是return None的同义词。那么也许可以返回None

def foo(bar=lambda: None):
pass

pass是一个语句,而lambda只能包含一个表达式(实际上,它是一个函数,其唯一一行是return,lambda的主体是返回的内容(。

在Python中,当到达函数末尾而没有显式返回时(或者当有显式返回而没有指定要返回的内容时(,它会返回None。所以一个函数

def foo():
pass

相当于

def foo():
return None

因此,您可以将其写成返回None:的lambda

lambda: None

相关内容

  • 没有找到相关文章

最新更新