所以我想了解partial:
import functools
def f(x,y) :
print x+y
g0 = functools.partial( f, 3 )
g0(1)
4 # Works as expected
Run Code Online (Sandbox Code Playgroud)
在:
g1 = functools.partial( f, y=3 )
g1(1)
4 # Works as expected
Run Code Online (Sandbox Code Playgroud)
在:
g2 = functools.partial( f, x=3 )
g2(1)
TypeError: f() got multiple values for keyword argument 'x'
Run Code Online (Sandbox Code Playgroud)
TypeError如果我y用作关键字参数,则消失:
在:
g2( y=1 )
4
Run Code Online (Sandbox Code Playgroud)
是什么导致的TypeError?