Предположим, у меня есть функция
def func(u,v,w,x, alpha = 4, beta = 5):
print('u ',u)
print('v ',v)
print('x ',w)
print('u ',x)
print('** kwarqs: alpha ',alpha)
print('** kwarqs: beta ',beta)
return u*4 + v*3 + w*2 + x
Теперь я хочу сделать ее частичной с помощью functools.partial
. Я устанавливаю переменную u,v,w
в константу и создаю функцию $$ part = f (x) | _ {u, v, w = \ text {const}} $$
u = 2
v = 4
w = 5
part = partial(func,u,v,w, alpha = 'Hello 1', beta = 'Hello 2')
print(part(4))
Результат is
u 2
v 4
w 5
x 4 # This is the remaining free variable
** kwarqs: alpha Hello 1
** kwarqs: beta Hello 2
34
Как я могу создавать функции
f(u) #or f(v),f(w)
f(v,x) #or all other variable combinations
f(v,alpha) # a combination of args and kwargs
?
С уважением
Обходные пути также приветствуются.