<分区>
我有一个小的 python 脚本,其中 lambda 函数内的变量(在另一个函数内)没有从某处获取任何值,但脚本仍然有效,我不明白为什么。下面是我的代码,a是神秘变量。我知道出于某种原因它有效,但我不知道为什么。
def myfunc(n):
return lambda a : a * n <== a variable takes value from where???
mydoubler = myfunc(2)
print(mydoubler(11))
<分区>
我有一个小的 python 脚本,其中 lambda 函数内的变量(在另一个函数内)没有从某处获取任何值,但脚本仍然有效,我不明白为什么。下面是我的代码,a是神秘变量。我知道出于某种原因它有效,但我不知道为什么。
def myfunc(n):
return lambda a : a * n <== a variable takes value from where???
mydoubler = myfunc(2)
print(mydoubler(11))
最佳答案
您在这里声明了变量:
def myfunc(n):
return lambda a : a * n
a
是 lambda 参数的名称
lambda a
这相当于:
def some_name(a):
...
唯一的区别是 lambda
就像一个没有名字的函数。匿名的。
关于python - 变量如何在函数内部取值而不在任何地方声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55917095/