假设我有一个旧函数oldFunction(first, second, third)
。并且,所有参数都是强制性的。我想弃用“第二个”参数的使用,也不要在我的项目中的任何地方更改代码。
我想创建一个完全相同的新函数,只有第一个和第三个参数。
我正在考虑使用旧函数作为包装器来包装新函数。我怎么可能这样做?因此,我将只能使用两个参数的新函数,但是当用旧名称调用时,是否会调用新函数(因为它被包装)?
我该怎么做?
答案 0 :(得分:2)
定义newFunction(x,y)
后,您可以将oldFunction
重新定义为:
def oldFunction(x,y,z):
return newFunction(x,z)
答案 1 :(得分:0)
为什么不使用关键字参数?这样,您可以同时拥有:
def function(a, b, c=None):
pass
您可以将其命名为function(a, b)
,也可以命名为function(a, b, c)
。