我正在尝试学习纯函数式编程。但是这段代码让我特别困惑的是第二行。我不明白如何将2值传递给变量x。有人可以解释这个嵌套的lambda行为吗?

>>> square_func = lambda x: x**2
>>> function_product = lambda F, m: lambda x: F(x)*m
>>> square_func(2)
4
>>> function_product(square_func, 3)(2)
12

最佳答案

当调用外部lambda时,内部lambda将创建一个函数。外部lambda返回此函数。然后使用参数2调用此函数。

关于python - 了解python中的嵌套Lambda函数行为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36391807/

10-13 07:40