python - 了解 python 中的嵌套 lambda 函数行为

标签 python python-2.7 python-3.x lambda functional-programming

我正在尝试学习纯函数式编程。但是这段代码让我感到困惑,尤其是第二行。我不明白值 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/

相关文章:

python - 如何分块迭代两个 Pandas 数据框

python - "pass"与 Python 中的 "return None"相同吗?

python - 当字符串列表交换为文本文件时程序停止工作

python - pip安装错误: Microsoft Visual C++ 10. 0是必需的

python - App Engine 上带有 Cursor 问题的任务链接。异常 : Too big query offset. 还有其他人遇到这个问题吗?

javascript - 实现 Bootstrap 进度条以通知用户类(class)进度

python - 如何以编程方式附加到系统路径?

python - 在 os.path.getsize() 的路径中使用通配符会返回错误 : OSError

python-3.x - 这个换币组合算法的时间复杂度是多少?

python - 为什么我可以分配 True = False (Python 2.7.9)