Partial function
partial(func: Callable, args, *kwargs)
用于改变函数默认值,或者添加一个默认值,并返回一个新函数
(其实有点类似修饰器,对函数进行2次包装)


案例1:单参数函数

用int( )这个经典案例

  1. # int(x, base=10)
  2. # x是字符串,base表示进制,默认为10进制
  3. y=int("1234568"base=10)
  4. x=int("1234568")
  5. print(x)
  6. print(y)
  7. x = int("10110", base=2)
  8. print(x)
  9. #==============================
  10. #output
  11. 1234568
  12. 1234568
  13. 22
  1. # 这样就能将int的默认参数修改为2
  2. import functools
  3. int2 = functools.partial(int, base=2)
  1. import functools
  2. int2 = functools.partial(int, base=2)
  3. x = int2("10110")
  4. #==============================
  5. #output
  6. 22

案例2:多参数函数

通过key去赋值即可(即通过变量名) 而且不必在乎变量顺序(参数是通过类似Dict的方式引索的)

  1. import functools
  2. def f(x1, x2, x3):
  3. print(x1,x2,x3)
  4. return 0
  5. f2 = functools.partial(f,x2=2,x1=1,x3=3)
  6. f2()
  7. #==============================
  8. #output
  9. 1,2,3