小编HTE*_*HTE的帖子

预定义函数的 ParamSpec,不使用通用 Callable[P]

我想为已知函数编写一个包装函数,例如

    def wrapper(*args, **kwargs)
         foo()
         return known_function(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

我如何添加类型注释wrapper,使其完全遵循类型注释known_function


我已经看过了ParamSpec,但它似乎只在包装函数是通用的并且将内部函数作为参数时才起作用。

    P = ParamSpec("P")
    T = TypeVar('T')
    def wrapper(func_arg_that_i_dont_want: Callable[P,T], *args: P.args, **kwargs: P.kwargs)
         foo()
         return known_function(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

我可以强制P只对 有效known_function,而不将其链接到Callable- 参数吗?

python python-typing

5
推荐指数
1
解决办法
1517
查看次数

标签 统计

python ×1

python-typing ×1