def myfunc(n):
return lambda a : a * n
mydoubler = myfunc(2)
print(mydoubler(11))
n = 2 的值,之后我很困惑 a 的值是什么,以及 lambda 函式是如何執行的。
uj5u.com熱心網友回復:
你myfunc是一個嵌套函式,lambdas 是函式。
一個平等的實作是:
def outer(n):
def inner(a):
return a * n
return inner
它也回傳一個像你原來的函式myfunc。由于呼叫的回傳myfunc也是一個函式,你也可以呼叫內部函式。
uj5u.com熱心網友回復:
當呼叫外部函式時,內部 lambda 會創建一個函式。然后外部 lambda 回傳被呼叫的函式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/370222.html
