python - 通过将旧函数包装在其上来创建具有较少参数的新函数

标签 python python-3.x function wrapper

假设我有一个旧函数,oldFunction(first, Second, Third)。并且,所有参数都是强制性的。我想弃用“第二个”参数的使用,并且也不更改项目中任何位置的代码。

我想创建一个新函数,它执行完全相同的操作,仅使用第一个和第三个参数。

我正在考虑用新签名包装新函数,并以旧函数作为包装器。我怎么可能这么做呢?因此,我将能够仅使用两个参数来使用新函数,但是当用旧名称调用时,是否会调用新函数(因为它被包装了)?

我怎样才能做到这一点?

最佳答案

定义了 newFunction(x,y) 后,您可以将 oldFunction 重新定义为:

def oldFunction(x,y,z):
    return newFunction(x,z)

关于python - 通过将旧函数包装在其上来创建具有较少参数的新函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41477221/

相关文章:

python - 无需算术运算符即可计算 x/y

python - 如何执行 .py 文件并将包括绘图在内的输出写入 .html 文件

python - 如何使用 Pyqt 小部件创建键盘和鼠标事件

C:如何按其元素之一对结构进行排序?不能使用指针

linux - 如何获得 shell 脚本中的函数列表?

PHP - 从类访问函数

python - 平铺 block 在 pygame 平台游戏中渲染不可见

python - 如何为子进程提供密码并同时获取标准输出

python子进程多个stdin.write和stdout.read

python-3.x - 如何让生成器提前准备好下一个值?