我想了解一个非常小的代码,它为我带来了很多时间,我仍然不清楚它究竟是如何工作的。从函数返回一个lambda函数
我知道lambda
是如何工作的,我过去曾经使用过它们,但是这段代码对我来说有点复杂。
def demo(arg):
return lambda target = None: (target, arg)
with_foo = demo({"foo": 50})
print with_foo()
print with_foo({"bar": 4})
上述代码的输出是
(None, {'foo': 50})
({'bar': 4}, {'foo': 50})
有人能向我解释这个target
变量的填充方式,我得到这个输出?
它可以帮助你,这样它会创建一个正常的'def'功能,而不是一个拉姆达重新写'demo'。 –