#-*-coding:utf-8-*-
from functools import partial
def foo(a, b, c):
return a + b + c
foo2 = partial(foo, b=2)
r = foo2(a=1, c=3)
print(r)
*****输出:6****
foo2是由偏函数生成的新函数
这样我们可以知道将原函数的一些属性或方法固定,从而生成新函数,方便调用。便是偏函数的作用
注意:
1.将前面连续的参数固定,就可以直接继续按照原来的参数继续调用。如
>>> test1 = partial(test_partial,1,2)
>>> test1(3,4)
1 2 3 4
2.将后面的连续参数固定,就可以直接继续使用原来的参数进行调用。如
>>> test4 = partial(test_partial, c=3, d=4)
>>> test4(1,2)
1 2 3 4
3.如果默认参数值不是连续的或者是直接对前面的连续参数赋值,那么就需要使用关键字参数进行调用,如
>>> test5(1,c=3)
1 2 3 4
>>> test6(c=3,d=4)
1 3 3 4