如何指定类型提示序列中的元素数量?
How can I specify number of elements in type hint sequence?
我有一个需要两个元素的整数序列的函数。我可以通过 typing.Tuple[int, int]
为元组创建类型提示,当我尝试传递更少或更多的值时,Pycharm 会警告我。但是,它不适用于 typing.Sequence
.
如何为所有两个元素序列创建类型提示?
typing.Sequence[int, int]
是一个错误;如果实例化对您来说是成功的,那么您可能正在处理 typing
的过时版本。
在CPython
的最新分支中:
>>> typing.Sequence[int, int]
结果:
TypeError: Too many parameters for typing.Sequence; actual 2, expected 1
与 List[int, int]
类似。 List
和 Sequence
为它们持有的类型取一个类型,那里的两个类型没有意义。
我猜你应该使用:
Sequence[Tuple[int, int]]
如果我对你的理解是正确的。
我有一个需要两个元素的整数序列的函数。我可以通过 typing.Tuple[int, int]
为元组创建类型提示,当我尝试传递更少或更多的值时,Pycharm 会警告我。但是,它不适用于 typing.Sequence
.
如何为所有两个元素序列创建类型提示?
typing.Sequence[int, int]
是一个错误;如果实例化对您来说是成功的,那么您可能正在处理 typing
的过时版本。
在CPython
的最新分支中:
>>> typing.Sequence[int, int]
结果:
TypeError: Too many parameters for typing.Sequence; actual 2, expected 1
与 List[int, int]
类似。 List
和 Sequence
为它们持有的类型取一个类型,那里的两个类型没有意义。
我猜你应该使用:
Sequence[Tuple[int, int]]
如果我对你的理解是正确的。