我尝试注释的元组的一些有效值:
("foo", 1, 2)
("bar", 11)
("baz", 42, 31, 20, 0, -700, 44444, 12345, 1, 2, 3, 4, 5, 6, 7, 8, 9)
我期待这能起作用:
my_tuple: Tuple[str, int, ...] # doesn't work!
...但这会引发
error: Unexpected '...'
有什么方法可以注释这个结构吗?
在 Python 3.11 中我现在可以执行以下操作:
my_tuple: tuple[str, *tuple[int, ...]] = ("foo", 1, 2)
我还没有发现这是何时添加的,除非它是PEP 659中列表和元组的序列解包更改的副作用。