Python 3.x 可变泛型类型别名
我正在编写一个python类型存根,用于mypy。有许多函数采用的回调参数形式为Python 3.x 可变泛型类型别名,python-3.x,typing,mypy,Python 3.x,Typing,Mypy,我正在编写一个python类型存根,用于mypy。有许多函数采用的回调参数形式为Callable[[*foo],Any],其中*foo表示零种或多种类型。我希望能够使用泛型类型别名来减少重复 泛型类型别名是有文档记录的,但我不知道如何将类型列表作为参数 我知道这可以通过一些具体的论点来实现: T = TypeVar('T') Callback0 = Callable[[], Any] Callback1 = Callable[[T], Any] def foo(f: Callback0): .
Callable[[*foo],Any]
,其中*foo
表示零种或多种类型。我希望能够使用泛型类型别名来减少重复
泛型类型别名是有文档记录的,但我不知道如何将类型列表作为参数
我知道这可以通过一些具体的论点来实现:
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]): ...
如果有必要的话,代码是针对Python3.3的,我正在用Python3.7运行mypy