在函数内部使用lambda

MMM*_*MMM 9 python lambda function

我正在通过在线教程学习python中的lambda函数.我理解它是如何工作的但是我遇到了一个令我困惑的例子(在这个页面上https://www.w3schools.com/python/python_lambda.asp):

def myfunc(n):
    return lambda a : a * n

mydoubler = myfunc(2)
print(mydoubler(11))
Run Code Online (Sandbox Code Playgroud)

我不明白"mydoubler"功能在这里是如何工作的.当我们之前没有定义它时,如何将11作为参数.谢谢.

Jos*_*ing 5

mydoubler是什么myfunc(2)回报.它返回一个接受单个参数的lambda a.

当您调用这样的函数时:myfunction(this_argument)它将解析为该点返回的内容.所以这与写作实际上是一样的mydoubler = lambda a : a * 2