词[str] vs [str]

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

和:

def func(self, stuff: [str]) -> str:

两个语句有效吗?他们是否将相同的信息给予Python(3.12+)解释器?

这个问题是相关的,但没有回答我关于
titerable
关键字的具体问题。

首先,这些是

型提示。解释器不适合使用它们或以其他方式使用。它们仅出于方便编码和静态分析而存在。例如。如果您使用IDE,它可能会使用它们为实体成员建议完成。 现在是[str]的速记。 list[str]

是与
python python-typing
1个回答
0
投票
的类型不同的类型 - 所以这就是区别。

更具体地说,Iterable

list

功能方面的衍生物(由于python的

duck键入,它不必从中正式继承,它只是实现了相同的成员),因此具有所有成员在
Iterable
中,还有许多其他不在
Iterable
的成员。
因此,实际结果是您的IDE将建议来自相应类型的成员,因为完成工具可以完成,例如验证您仅使用代码中声明类型中存在的成员。
    

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.