直接举例说明
from functools import partial
def add_func(a, b):
return a + b
if __name__ == "__main__":
add_test1 = partial(add_func, 1)
print(add_test1(2)) # 3
print(add_test1(4)) # 5
我们首先定义一个函数 add_func ,它传入两个参数,返回这两个参数之和,接着
使用 partial 定义 add_test1,通过观察结果可以看到 add_test1 只需传入一个参数,就返回传入的这个参数和1的和,即 partial 固定了 add_func 这个函数中一个参数的值
需要注意的是 partial 固定参数是按照从左到右的顺序去固定的
那么我们可不可以固定多个参数的值呢,当然可以,show code
def add_func(a, b, c):
return a + b + c
if __name__ == "__main__":
add_test1 = partial(add_func, 1, 3)
print(add_test1(2)) # 6
print(add_test1(4)) # 8
这里 partial 固定了a,b的值分别为1, 3