Python中的偏函数简单理解是将不变的参数封装起来,将能够改变的参数暴露出来进行参数传递。
偏函数不能改变一个函数的行为。偏函数是在已有的函数基础上生成一个新的函数,这新函数的功能和已有函数相同,但是,这个新函数的部分参数已被偏函数确定。
示例:
from functools import partial
#基础函数
def func3(a,b):
return a*b
if __name__ == "__main__":
# 偏函数
c = partial(func3,b=5)
print(c(2))
示例中是在func3函数的基础之上创建偏函数,将原函数中的参数b进行固定,将a参数通过传递的方式改变其值,执行两个参数的相乘运算。
注意事项:
-
在创建偏函数时,参数的顺序很重要。
partial
函数将预设参数应用到原始函数的参数上,按照它们在原始函数中定义的顺序。 -
使用偏函数时要小心关键字参数。如果偏函数和原始函数都使用了同一个关键字参数,那么偏函数的值将会覆盖原始函数的值。
-
偏函数仍然是函数。你可以把它们像任何其他函数一样使用,包括作为其他函数的参数,或者在类中作为方法使用。