functools partial:
from functools import partial
def add(a, b, c):
return a + b + c
FixA_Add = partial(add, 1)
add(1, 2, 3)
## 6
FixA_Add(2, 3)
## 6
自定义partial函数:
def partial(func, *part_args):
def wrapper(*extra_args):
args = list(part_args)
print("args: ", args)
print("extra_args: ", extra_args)
args.extend(extra_args)
print("args: ", args)
return func(*args)
return wrapper
我们print看看是怎样的工作流程:
FixA_Add = partial(add, 1)
FixA_Add(2, 3)
"""print
args: [1]
extra_args: (2, 3)
args: [1, 2, 3]
Out[13]: 6
"""
仅个人笔记,留着给自己看~