我需要一個函數,可以將其他函數參數修復爲常量值。 例如函數參數修復程序
def a(x, y):
return x + y
b = fix(a, x=1, y=2)
現在乙方應是接收無參數在每次被調用時的返回3的功能。 我很確定python有類似內置的東西,但我找不到它。
謝謝。
我需要一個函數,可以將其他函數參數修復爲常量值。 例如函數參數修復程序
def a(x, y):
return x + y
b = fix(a, x=1, y=2)
現在乙方應是接收無參數在每次被調用時的返回3的功能。 我很確定python有類似內置的東西,但我找不到它。
謝謝。
您可以使用functools.partial
:
>>> import functools
>>>
>>> def a(x, y):
... return x + y
...
>>> b = functools.partial(a, x=1, y=2)
>>> b()
3
您可以使用functools.partial
返回一個新的partial
對象。 有效地它爲您提供了相同的功能,但一個或多個參數已被設置值填充。
from functools import partial
def a(x, y):
return x + y
b = partial(a, x=1, y=2)
print(b())
# 3
感謝這就是我一直在尋找。自從他第一次接受Ffisegydd的回答。 –
你是對的,對不起 –