看了W3Schools Python教程,我对他们的lambda例子很疑惑。
变量“a”的值到底从哪里来?当然,“a”是 lambda - 但它从哪里获取值?
def myfunc(n):
return lambda a : a * n
mytripler = myfunc(3)
print(mytripler(11))
如果我自己调用 print(myfunc(3)) ,我会得到一个错误。该函数仅在该函数被另一个函数调用时才有效。 lambda a 如何知道这些?
我担心我遗漏了一些关于 lambda 函数的非常基础的东西。
请您参考如下方法:
Lambda 只是完整声明的缩写。这使您的示例在功能上与此相同:
def myfunc(n):
def inner(a):
return a * n
return inner
lambda 是一个函数,当您调用它时,您为它提供了一个参数(在本例中为 a)。
