小编Som*_*Guy的帖子

包装另一个函数的函数的类型提示,接受相同的参数

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 和其他编辑器中不会有正确的自动完成功能。

python type-hinting

7
推荐指数
1
解决办法
1725
查看次数

标签 统计

python ×1

type-hinting ×1