偏函数 - 当函数的参数个数太多,需要简化时,使用
functools.partial
可以创建一个新的函数,这个新函数可以固定住原函数的部分参数,从而在调用时更简单。
import functools
int2 = functools.partial(int,base=2)
print int(‘1000000‘,2)
# 64
print int2(‘1000000‘)
# 64
简单总结functools.partial的作用就是,把一个函数的某些参数(不管有没有默认值)给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单。
注意到上面的新的int2函数,仅仅是把base参数重新设定默认值为2,但也可以在函数调用时传入其他值:
int2(‘1000000‘, base=10)
1000000
创建偏函数时,要从右到左固定参数,就是说,对于函数f(a1, a2, a3),可以固定a3,也可以固定a3和a2,也可以固定a3,a2和a1,但不要跳着固定,比如只固定a1和a3,把a2漏下了。如果这样做,调用新的函数会更复杂,可以自己试试。
时间: 2024-11-03 21:33:13