我不明白引用函数myfunc的mydoubler对象是如何将参数传递给lambda表达式中的“a”的。你知道吗
我得到的是: 有一个函数“myfunc”接受参数“n”。函数“myfunc”使用lambda表达式“lambda:a*n”返回值。 对象mydouble是对函数“myfunc(2)”的引用,其中mydoubler是“return lambda:a*2”。你知道吗
引用是否也意味着“mydoubler”的行为与myfunc(n)一样,因此接受一个参数,其中该参数必须是函数“myfunc”中唯一的其他变量。所以我的双工(a)实际上是: '返回λa:a*2
def myfunc(n):
return lambda a : a * n
mydoubler = myfunc(2)
print(mydoubler(11))
没有错误返回,只是我试图了解发生了什么。你知道吗
lambda函数的工作原理如下
基本上它和其他函数一样
考虑下面的例子
现在x就像一个函数(变量中的函数),所以您可以随时调用它 …它接受a,b作为参数并返回a*b,所以在这种情况下,结果是30
在您的例子中,在python函数中有lambda匿名函数,所以发生的是 调用myfunc将n值传递给lambda函数并返回该函数(请注意,lambda函数已返回)使用给定值再次调用lambda函数并返回结果
相关问题 更多 >
编程相关推荐