如何指定类型提示序列中的元素数量?

Ted*_*man 1 python type-hinting pycharm python-3.x python-3.5

我有一个函数需要一个两个元素的整数序列。我可以通过这样做来为元组创建类型提示,typing.Tuple[int, int]当我尝试传递更少或更多的值时,Pycharm 会警告我。但是,它不适用于typing.Sequence.

如何为所有两个元素序列创建类型提示?

Jim*_*ard 6

typing.Sequence[int, int]是一个错误;typing如果实例化它对您来说是成功的,那么您可能正在处理一个过时的版本。

在 的最新分支中CPython

>>> typing.Sequence[int, int]
Run Code Online (Sandbox Code Playgroud)

结果是:

TypeError: Too many parameters for typing.Sequence; actual 2, expected 1
Run Code Online (Sandbox Code Playgroud)

对于List[int, int]. ListSequence为他们持有的类型取一个类型,那里的两种类型没有意义。

我猜你应该使用:

Sequence[Tuple[int, int]]
Run Code Online (Sandbox Code Playgroud)

如果我对你在做什么的理解是正确的。