如何以编程方式定义与所包装的函数具有相同(可选)参数的python包装函数

2024-04-19 01:08:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我发现自己定义了许多包装函数,主要是为了避免修改来自包的函数(标准的numpy或我自己的)。我希望解释器能够理解包装器与它包装的函数具有相同的参数。例如,我有一个要包装的函数

def wrapped(opt=1):
     DoSomethingWithTheParameters(opt)

我现在用基于字典的包装器包装它

def wrapper(kwargs):
    return wrapped(**kwargs)

但这也有缺点:

  1. 解释器不知道wrapper的参数列表
  2. 包装的docstring是空的,如果可以从包装的函数继承它就好了

我是否可以通过编程方式定义包装器,使其获得与包装的函数相同的参数列表?他们有没有可能得到同样的文档串


Tags: 函数numpy列表参数标准return字典定义