[英]Can anyone explain, how this peice of code works?
def myfunc(n):
return lambda a : a * n
mydoubler = myfunc(2)
print(mydoubler(11))
n = 2的值,之后我很困惑a的值是什么,以及lambda function是如何执行的。
你的myfunc
是一个嵌套的 function, lambda
是函数。
一个平等的实现将是:
def outer(n):
def inner(a):
return a * n
return inner
它也返回一个 function ,就像你原来的myfunc
一样。 由于myfunc
调用的返回也是 function,所以你也可以调用内部 function。
当外部 function 被调用时,内部 lambda 创建一个 function。 外层 lambda 然后返回被调用的 function。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.