ITS·黑客

【python】偏函数:functools.partial

2017-05-19  本文已影响112人  MJXH
>>>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()),然后去调用这个新函数。

上一篇下一篇

猜你喜欢

热点阅读