-1

这篇文提出了一个柯里化加法函数的实现:

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)

你怎么看 ?

4

1 回答 1

5

您的功能与博客文章plus中的功能相同。addN唯一的区别是:

  1. 您使用了lambda博客文章使用def.
  2. 出于某种原因,您使用operator.add(a,b)而不是简单地使用a+b.

使用plusandaddN将给出相同的结果,因此没有一个更“正确”。

请注意,您选择的函数命名令人困惑,因为您的plus函数对应于博客文章中的addN函数(而不是函数)。plus

于 2012-05-14T12:56:38.897 回答