Como funciona o functools parcial em Python?

Eu não sou capaz de entender como funciona o partial no functools. Eu tenho o seguinte código deAqui:

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

Agora na linha

incr = lambda y : sum(1, y)

Eu entendo que qualquer argumento que eu passe paraincr será passado comoy paralambda que retornarásum(1, y) ou seja,1 + y.

Eu entendi aquilo. Mas eu não entendi issoincr2(4).

Como é que4 é passado comox em função parcial? Para mim,4 deve substituir osum2. Qual é a relação entrex e4?

questionAnswers(5)

yourAnswerToTheQuestion