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
?