1 import functools 2 int2 = functools.partial(int, base=2) 3 print(int2('100')) 4 5 6 max2 = functools.partial(max, 10) 7 print(max2(2,6,0,8))
functools.partial的作用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单。
创建偏函数时,实际上可以接收函数对象、*args和**kw这3个参数。
前述代码中,base=2,相当于把int()函数中的关键字参数base固定为2
而对于max()函数,实际上会把10作为*args的一部分自动加到左边。
当函数参数太多时,可通过functools.partial封装一个新函数。