from functools import partial
def my_func(a,b,c):
print(a,b,c)
my_func(10,20,30)
def f(x,y):
return my_func(10,x,y)
f(20,30)
g=partial(my_func,10)
g(20,30)
def func1(a,b, *args, k1,k2, **kwargs):
print(a,b,args,k1,k2,kwargs)
func1(10,20,30,40,k1='a',k2='b', k3=1000, k4=2000)
def g1(x,*vars, kw, **kwvars):
return func1(10,x,*vars,k1='a',k2=kw, **kwvars)
g1(20,30,40,kw='b',k3='1000',k4='2000')
# for partial
g2=partial(func1,10,k1='a')
g2(20,30,40,k2='b',k3='1000',k4='2000')
def power(base, exponent):
return base ** exponent
square = partial(power, exponent=2)
cube = partial(power, exponent=3)
print(cube(base=3))
print(cube(3))