我正在寻找一个带有附加参数的装饰器来包装可调用对象,包装函数的签名应为两者的并集。
例如
def decorator(func):
# something like @functools.wrap
def wrapper(other_param: int = None, **kwargs):
pass
return wrapper
@decorator
def myfunc(*, foo: int, bar: int):
pass
我想要的是一种在经过修饰的myfunc上调用inspect.signature
并获取所有三个命名参数的方法。我知道sigtools库,但不能将其用作依赖项。
编辑:为明确起见,我希望包装器的签名为(foo,bar,other_param)。