繁体   English   中英

谁能解释一下,这段代码是如何工作的?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM