假设我有一个函数
def oldfunction(arg1,arg2,arg3):
print(arg1,arg2,arg3)
我想创建一个新函数,其中我已将第一个参数设置为 10。新函数的行为将是:
>>> new_function(20,"30")
10 20 '30'
一种方法是使用 lambda 函数:
>>> newfunction = lambda arg2,arg3: function(10,arg2,arg3)
>>> newfunction("ten",[10])
(10, 'ten', [10])
但是,假设我事先不知道“oldfunction”需要多少个参数。我仍然想创建一个与“oldfunction”相同的新函数,但设置了第一个参数,并且所有后续参数都保持打开状态。
有办法吗?
请您参考如下方法:
尝试 functools.partial :
from functools import partial
new_function = partial( oldfunction, 10 )
