我需要一个可以将其他函数参数修复为常量值的函数。 例如
def a(x, y):
return x + y
b = fix(a, x=1, y=2)
现在b应该是一个不接收任何参数的函数,每次调用它时返回3。 我非常确定python有类似内置的内容,但我找不到它。
感谢。
答案 0 :(得分:6)
您可以使用functools.partial
:
>>> import functools
>>>
>>> def a(x, y):
... return x + y
...
>>> b = functools.partial(a, x=1, y=2)
>>> b()
3
答案 1 :(得分:4)
您可以使用functools.partial
返回新的partial
对象。 有效它为您提供相同的功能,但一个或多个参数已用设定值填充。
from functools import partial
def a(x, y):
return x + y
b = partial(a, x=1, y=2)
print(b())
# 3