typing。来自类型列表的元组

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

我有一个类型对象的列表,想构造一个type.Tuple对象。有办法吗?

tys = [int, str]    # This is known only at runtime
x = typing.Tuple(tys)   # TypeError: Type Tuple cannot be instantiated; use tuple() instead

任何帮助将不胜感激。谢谢。

编辑:为澄清问题-

[我正在尝试做的事情-使用python AST访问元组并注释其类型。为此,列表tys是循环生成的(因此,我无法从头开始以元组开头)。现在,我绝对必须使用typing.Tuple对象来注释它,因此是问题。

python typing
1个回答
2
投票

我有解决方案。

x = typing.Tuple[tuple(tys)] # This works

编辑:这适用于所有键入结构。例如。虽然typing.Union(tys)typing.Union[tys]会给出错误,但typing.Union[tuple(tys)]有效。我不确定这是否是一般的“ python”,还是键入模块是否特殊。我一知道就会更新这个答案。

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