You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

Python 3.12+中Iterable[str]与[str]类型注解的区别及有效性疑问

Python 3.12+中Iterable[str]与[str]类型注解的区别及有效性疑问

我最近在琢磨Python 3.12+里两种类型注解写法的差异,就是下面这两种:

第一种是导入Iterable后使用的写法:

from typing import Iterable
def func(self, stuff: Iterable[str]) -> str:

第二种是直接用方括号的简化写法:

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

我有两个具体的疑问想搞清楚:

  • 这两种类型注解的写法都是有效的吗?
  • 它们给Python 3.12+解释器传递的类型信息是完全一致的吗?

之前我看过相关的问题,但那个问题并没有解答我关于Iterable关键字的这个具体困惑。

备注:内容来源于stack exchange,提问作者suizokukan

火山引擎 最新活动