用可变数量的项目注释元组,并且第一个项目具有不同的类型

问题描述 投票:0回答:1

我尝试注释的元组的一些有效值:

("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 mypy python-typing
1个回答
0
投票

在 Python 3.11 中我现在可以执行以下操作:

my_tuple: tuple[str, *tuple[int, ...]] = ("foo", 1, 2)

我还没有发现这是何时添加的,除非它是PEP 659中列表和元组的序列解包更改的副作用。

© www.soinside.com 2019 - 2024. All rights reserved.