我在Python f(a, b)
中有一个函数,我正在尝试定义一个新函数g
,它接收f
已经设置了一个参数,类似于g(f(a = 5))
。这将是一个简单的例子:
def sum(a, b):
return a+b
def g(x, f):
return f(x)
我希望能够评估g(5, sum(b=0))
。我该怎么做?
答案 0 :(得分:6)
g(5, partial(sum, b=5))
返回一个新的部分对象,当调用它时,其行为类似于使用位置参数 args 和关键字参数关键字调用的func。如果为调用提供了更多参数,则它们附加到args。如果提供了其他关键字参数,则扩展和覆盖关键字
partial()用于部分函数应用程序,它“冻结”函数参数和/或关键字的某些部分,从而产生具有简化签名的新对象。例如,partial()可用于创建一个callable,其行为类似于int()函数,其中base参数默认为2:
basetwo = partial(int, base=2)