我不能得到我的头如何部分工作在functools。 我有以下代码从这里:

>>> sum = lambda x, y : x + y
>>> sum(1, 2)
3
>>> incr = lambda y : sum(1, y)
>>> incr(2)
3
>>> def sum2(x, y):
    return x + y

>>> incr2 = functools.partial(sum2, 1)
>>> incr2(4)
5

现在在队列中

incr = lambda y : sum(1, y)

我得到,无论我传递给incr的参数是什么,它都会作为y传递给lambda,它会返回sum(1, y)即1 + y。

我理解。但是我不明白这一点。

在偏函数中,4是如何作为x传递的?对我来说,4应该取代求和2。x和4的关系是什么?

在对另一个问题的回答的评论中,有人说他们不确定functools是什么。Wraps在做什么。所以,我问这个问题是为了在StackOverflow上有一个记录,以供将来参考:functools。包裹真的有用吗?