gpt4 book ai didi

python - typing.List<~T>[typing.Tuple[int]] 在 Python 类型库中是什么意思?

转载 作者:太空宇宙 更新时间:2023-11-03 14:58:35 24 4
gpt4 key购买 nike

在玩 Python 的 typing 时我遇到了一些奇怪的模块:

>>> from typing import List, Tuple
>>> List[Tuple[int]]
typing.List<~T>[typing.Tuple[int]]

这是什么类似 Java 的语法 List<~T> ?什么意思?

最佳答案

这不是真正的 Python 语法,所以不要尝试在程序中使用它。也就是说,这就是他们选择表示泛型类型的类型参数的方式。在通用类型的 repr 中,声明的类型参数列在类似 Java 的 <> 中尖括号,带有 + , - , 或 ~在每个类型参数之前取决于该参数是协变的、逆变的还是两者都不是。

typing.List采用名为 T 的单个非协变、非逆变类型参数, 所以它得到一个 <~T>在名字之后。

您会注意到 typing.Tuple没有任何 <>它的名字后面的东西。 Tuple是一个奇怪的特例,因为它采用可变数量的类型参数。

关于python - typing.List<~T>[typing.Tuple[int]] 在 Python 类型库中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40471846/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com