我想了解一個非常小的代碼,它爲我帶來了很多時間,我仍然不清楚它究竟是如何工作的。從函數返回一個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'。 –