【问题标题】:Can anyone explain, how this peice of code works?谁能解释一下,这段代码是如何工作的?
【发布时间】:2021-12-01 04:30:45
【问题描述】:
def myfunc(n):
  return lambda a : a * n

mydoubler = myfunc(2)

print(mydoubler(11))

n = 2的值,之后我很困惑a的值是什么,以及lambda函数是如何执行的。

【问题讨论】:

  • 你的函数返回一个函数:-)

标签: python function lambda


【解决方案1】:

您的myfunc 是嵌套函数,lambdas 是函数。

同样的实现是:

def outer(n):
    def inner(a):
        return a * n
    return inner

它也会返回一个类似于原始 myfunc 的函数。由于myfunc的调用返回也是一个函数,所以你也可以调用内部函数。

【讨论】:

    【解决方案2】:

    当调用外部函数时,内部 lambda 会创建一个函数。外部 lambda 然后返回被调用的函数。它发生了上述描述..即:当我们调用 mydoubler(11) 时,给定值 a=11 并调用 n=2。

    【讨论】:

    • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 2018-12-24
    • 2017-04-22
    • 1970-01-01
    • 2015-06-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多