- 偏函数
使用functools.partial可以创建一个新的函数,这个新函数可以固定住原函数的部分参数,从而在调用时更简单。
>>>import functools
>>>int2 = functools.partial(int,base=2)
>>>int2('1000000')
64
>>>max2=functools.partial(max,10)
注:functools.partial可以接收函数对象、*args和**kw这3个参数
如functools.partial(int,base=2)实际上固定了int()函数的关键字参数base
int2('10010')和kw = {'base':2} ,int('10010',**kw)是一样的,结果都是18
如functools.partial(max,10)会把10作为*args的一部分自动加到左边,再进行比较大小,如max2(5,6,7)相当于args = (10, 5, 6, 7),max(*args), 结果是10
总结:其实就是函数(int()函数或是max()函数)调用的时候,有多个参数,但是其中的一个参数(base=2,或max中的10)已经知道了,我们可以通过这个参数重新绑定一个新的函数(int2(),或是max2()),然后去调用这个新函数。









网友评论