首页 > 解决方案 > 访问部分函数时我的代码出错

问题描述

当我使用我的部分功能时,我无法执行以下代码

from functools import partial

def f(a, b, c, d):
    return 100 * a + 50 *b + 25 * c + d

g = partial(f, b=2)

print g(2, 4, 5)

标签: python

解决方案


您不能使用除最后一个以外的位置参数进行部分处理。

如果您需要对 进行部分处理b,则需要按名称传递cd

g = partial(f, b=2)
print(g(2, c=4, d=5))

lambda如果您需要传递位置参数,或者使用(或包装函数)


推荐阅读