python函数式编程——偏函数
当函数的参数个数太多,需要简化时,使用functools.partial
可以创建一个新的函数,这个新函数可以固定住原函数的部分参数,从而在调用时更简单。
import functools def test(a=1,b=2): return a + b test() #默认参数结果是3 test(5,6) #传入参数结果是11
new_test = functools.partial(test,a=3,b=4) #偏函数重新修改参数 new_test() #这里结果是7没问题 new_test(7,8) 这里会报错:TypeError: test() got multiple values for argument 'a'
只有重新带参数设定值才能正常运行,例如: new_test(a=7,b=8) 相当于: kw = {'a':7,'b':8} test(**kw)