gpt4 book ai didi

python - 在 Python lambda 中柯里化(Currying)

转载 作者:太空宇宙 更新时间:2023-11-04 00:34:07 29 4
gpt4 key购买 nike

我正在尝试在 Python 2.7 中编写一个朴素的柯里化(Currying)函数,但内部 lambda 似乎无法访问父 lambda 作用域。

为了简单起见,让我们采用这个函数:

add = lambda a: lambda b: a + b

内部 lambda 的作用域无法访问外部的(Python 无法识别 a)。

有没有方便的方法使外部作用域可访问?

最佳答案

这个例子似乎适用于 python 2.7.11

add = lambda a: lambda b: a + b
f = add(1)
print f(2)
3
print f(10)
11

不过,更复杂的示例可能会失败。 lambda 函数存储对封闭范围内变量的引用,而不是它们的值。这可能有助于解决更复杂的问题:https://stackoverflow.com/a/938493/8131703

关于python - 在 Python lambda 中柯里化(Currying),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44803765/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com