def function(a: int, b: str) -> None:
pass
def wrapper(extra: int, *args, **kwargs) -> None:
do_something_with_extra(extra)
function(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法可以让包装器继承 function() 的类型提示而无需重新输入所有类型提示?通常我会写
def wrapper(extra: int, a: int, b: str) -> None:
Run Code Online (Sandbox Code Playgroud)
但由于有很多参数,它变得非常冗长,每次更新 function() 的参数时,我都必须更新wrapper(),并且 using*args, **kwargs意味着 vscode 和其他编辑器中不会有正确的自动完成功能。