Python 如何检查手动装饰的功能?
我有一个客户端对象Python 如何检查手动装饰的功能?,python,python-3.x,pycharm,static-analysis,python-decorators,Python,Python 3.x,Pycharm,Static Analysis,Python Decorators,我有一个客户端对象client。它有许多同步函数,我有一个装饰器,可以将它们更改为异步函数。由于我无法修改原始代码,所以我使用类似于client.send\u request=async\u wrapper(client.send\u request)的代码手动修饰所有这些函数 但问题是,手动修饰的函数显示包装器的签名,但不显示修饰函数的签名。例如,如果我键入client.send\u request,我的IDE将签名作为send\u request(*args,**kwargs),而不是原始签
client
。它有许多同步函数,我有一个装饰器,可以将它们更改为异步函数。由于我无法修改原始代码,所以我使用类似于client.send\u request=async\u wrapper(client.send\u request)
的代码手动修饰所有这些函数
但问题是,手动修饰的函数显示包装器的签名,但不显示修饰函数的签名。例如,如果我键入client.send\u request
,我的IDE将签名作为send\u request(*args,**kwargs)
,而不是原始签名作为send\u request(url,数据,额外)
因此,这给我的发展带来了很多困难。有办法让它工作吗
我使用的是Pycharm,但任何其他IDE都可以接受。您是否使用了
functools.wrapps
?@NilsWerner当然。是否要检查参数?@warvariuc编辑。