Python的functools
模块提供了很多有用的功能,其中一个就是偏函数(Partial function)functools.partial
的作用就是,把一个函数的某些参数(不管有没有默认值)给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单。最后,创建偏函数时,要从右到左固定参数,就是说,对于函数f(a1,
a2,a3)
,可以固定a3
,也可以固定a3
和a2
,也可以固定a3
,a2
和a1
,但不要跳着固定,比如只固定a1
和a3
,把a2
漏下了。当函数的参数个数太多,需要简化时,使用functools.partial
可以创建一个新的函数,这个新函数可以固定住原函数的部分参数,从而在调用时更简单。
#定义
>>>def int2(x):
return int(x,base=2)
#调用
>>>int2('1010101')
85
#直接使用偏函数
>>>import functools
>>>int2=functools.partial(int,base=2)
>>>int2('100000')
32