Python中用[str]标注字符串列表是否符合PEP规范?
关于PEP规范中[str]作为字符串列表类型标注的正确性
- 根据PEP 484及后续相关类型标注规范,[str]并不是合法的字符串列表类型标注方式。正确的写法应为:
- Python 3.9及以上版本:
list[str] - Python 3.8及更早版本:
typing.List[str]
- Python 3.9及以上版本:
- GitHub上出现的
[str]写法属于不规范用法,可能是开发者的简写习惯,或是在非严格类型检查的场景下使用,但并不符合官方规范。 - 你提到的
{str}确实存在严重歧义,PEP规范中没有这种标注方式:- 若要表示字符串集合,应使用
set[str](Python 3.9+)或typing.Set[str] - 若要表示字典,必须明确键和值的类型,比如
dict[str, Any]、dict[int, str]等,不能用模糊的{str}
- 若要表示字符串集合,应使用
内容的提问来源于stack exchange,提问作者hendrik
相关产品推荐
相关产品推荐

