【发布时间】:2017-04-25 23:24:42
【问题描述】:
我有一个需要两个元素的整数序列的函数。我可以通过typing.Tuple[int, int] 为元组创建类型提示,当我尝试传递更少或更多的值时,Pycharm 会警告我。但是,它不适用于typing.Sequence。
如何为所有两个元素序列创建类型提示?
【问题讨论】:
标签: python python-3.x pycharm python-3.5 type-hinting
我有一个需要两个元素的整数序列的函数。我可以通过typing.Tuple[int, int] 为元组创建类型提示,当我尝试传递更少或更多的值时,Pycharm 会警告我。但是,它不适用于typing.Sequence。
如何为所有两个元素序列创建类型提示?
【问题讨论】:
标签: python python-3.x pycharm python-3.5 type-hinting
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]]
如果我对您的工作的理解是正确的。
【讨论】: