Python中Workers = List[str]含义是什么?如何正确向其添加字符串元素?
错误原因
typing.List属于类型标注工具,仅用于静态类型检查阶段标识变量的类型结构,本身不是可操作的列表实例。你代码中的Workers = List[str]只是将「元素为字符串的列表」这个类型标记赋值给了Workers变量,没有生成实际的列表对象,自然无法调用列表的append方法,触发类型错误。
正确写法
场景1:直接声明并初始化列表
from typing import List # 给变量加类型注解的同时初始化空列表实例 Workers: List[str] = [] # 正常调用列表方法 Workers.append("aaa")
Python 3.9+版本可以直接使用内置
list做类型标注,无需导入typing.List,写法可简化为:Workers: list[str] = [] Workers.append("aaa")
场景2:定义可复用的类型别名
如果需要多次使用「元素为字符串的列表」这个类型,可以先定义类型别名,再用于多个变量的标注:
from typing import List, TypeAlias # 定义类型别名,仅用于类型标注 StrList: TypeAlias = List[str] # 用别名给多个列表变量做类型注解 Workers: StrList = [] Departments: StrList = ["技术部", "产品部"] Workers.append("aaa")
内容的提问来源于stack exchange,提问作者Mirek6
相关产品推荐
相关产品推荐

