这个blogpost提出了一个curried附加函数的实现:
def addN(n):
return lambda x: x + n
def plus(a, b):
addA=addN(a)
return addA(b)
我相信我的版本更正确,因为它一直使用一元函数。
from operator import add
plus = lambda a: lambda b: add(a, b)
plus(1)(2)
您怎么看?
答案 0 :(得分:5)
您的plus
功能与博文中的addN
功能相同。唯一的区别是:
lambda
,其中博文使用了def
。operator.add(a,b)
,而不仅仅是a+b
。使用plus
和addN
会得到相同的结果,因此两者都不是更“正确”。
请注意,您选择的功能命名令人困惑,因为您的plus
功能对应于博文中的addN
功能(而不是plus
功能)。