例如,我有简单的功能:
def foo(a):
'''
Some function.
a : int
'''
print(a+10)
它按预期工作-当我将鼠标放在该函数上时,我会看到有用的帮助:
但是,如果我使用包装器,则会丢失有关函数参数的有用信息:
def simple_decorator(f):
def inner(*args, **kwargs):
'''
Simple decorator
'''
res = f(*args, **kwargs)
print('Wrapped')
return res
return inner
@simple_decorator
def foo(a):
'''
Some function.
a : int
'''
print(a+10)
但是!我可以使用Ctrl +鼠标悬停功能查看信息:
这种方式仍然无法显示函数的参数-添加括号时,我仅再次看到*args, **kwargs
。
我也尝试过from functools import wraps
也不起作用。
是否可以使智能正常工作,从而显示包装函数的参数?还是像在Ctrl + Mouse上一样始终显示它们两者?
P.S。我在GitHub上发现了许多未解决的问题,但仍然找不到解决办法。例如: https://github.com/davidhalter/jedi/issues/906