我正在尝试学习纯函数式编程。但是这段代码让我感到困惑,尤其是第二行。我不明白值 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
原文由 kmario23 发布,翻译遵循 CC BY-SA 4.0 许可协议
当调用外部 lambda 时,内部 lambda 会创建一个函数。外层 lambda 返回这个函数。然后使用参数
2
调用此函数。