Используйте funtools.partial
, вам нужно перевернуть параметры, так как частичное применяет их по порядку:
from functools import partial
def plus(a1, num):
return num + a1
f = partial(plus, 3)
Как пример:
>>> f = partial(plus, 3)
>>> f(10)
13
Или используйте значения по умолчанию:
def div(num, a1=1):
return num / a1
fdiv = partial(div, a1=3)
Например:
>>> acts = [partial(plus, 3), partial(div,a1 = 3), partial(div, a1 = 2)]
>>> num = 9
>>> for act in acts:
... num = act(num)
...
>>> num
2.0