相关疑难解决方法(0)

functools.partial想要使用位置参数作为关键字参数

所以我想了解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

python partial-application

26
推荐指数
1
解决办法
6371
查看次数

标签 统计

partial-application ×1

python ×1