Partial function
partial(func: Callable, args, *kwargs)
用于改变函数默认值,或者添加一个默认值,并返回一个新函数
(其实有点类似修饰器,对函数进行2次包装)
案例1:单参数函数
用int( )这个经典案例
# int(x, base=10)
# x是字符串,base表示进制,默认为10进制
y=int("1234568",base=10)
x=int("1234568")
print(x)
print(y)
x = int("10110", base=2)
print(x)
#==============================
#output
1234568
1234568
22
# 这样就能将int的默认参数修改为2
import functools
int2 = functools.partial(int, base=2)
import functools
int2 = functools.partial(int, base=2)
x = int2("10110")
#==============================
#output
22
案例2:多参数函数
通过key去赋值即可(即通过变量名) 而且不必在乎变量顺序(参数是通过类似Dict的方式引索的)
import functools
def f(x1, x2, x3):
print(x1,x2,x3)
return 0
f2 = functools.partial(f,x2=2,x1=1,x3=3)
f2()
#==============================
#output
1,2,3