functools.partial是Python标准库中的一个函数,它是一个高阶函数,用于部分应用一个可调用对象的参数。它的作用是创建一个新的可调用对象,该对象的参数已经预先固定为部分参数。通过使用functools.partial,我们可以在调用函数时提供更少的参数,从而简化代码并提高代码的可读性。

14 浏览
0 Comments

functools.partial是Python标准库中的一个函数,它是一个高阶函数,用于部分应用一个可调用对象的参数。它的作用是创建一个新的可调用对象,该对象的参数已经预先固定为部分参数。通过使用functools.partial,我们可以在调用函数时提供更少的参数,从而简化代码并提高代码的可读性。

我无法理解functools中的partial是如何工作的。

我从这里找到了以下代码:

>>> 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

我明白这一点。但是我不明白incr2(4)是什么意思。

4如何作为x传递给partial函数?对我来说,4应该替换sum2x4之间有什么关系?

0