可变参数泛型类型别名

时间:2018-12-08 21:58:19

标签: python-3.x typing mypy

我正在编写一个与mypy一起使用的python输入存根。有很多函数采用Callable[[*foo], Any]形式的回调参数,其中*foo代表零个或多个类型。我希望能够使用通用类型别名来减少重复。

通用类型别名已记录在here中,但我不知道如何将类型列表作为参数。

我知道这可以通过具体数量的参数来完成:

T = TypeVar('T')
Callback0 = Callable[[], Any]
Callback1 = Callable[[T], Any]

def foo(f: Callback0): ...
def bar(f: Callback1[str]): ...

我想声明的是这样的东西:

def foo(f: Callback[]): ...
def bar(f: Callback[str]): ...

如果有关系,代码适用于Python 3.3,并且我正在使用python 3.7运行mypy。

0 个答案:

没有答案