如何标注Python函数列表参数的元素类型以获取VS Code自动补全提示
列表元素类型标注实现方法
Python 3.9+ 写法(最简洁)
Python 3.9开始支持内置容器的泛型标注,直接按下方写法标注即可,VS Code 安装默认Python插件后就会自动识别,给users内的元素提供User类的属性、方法补全提示:
class User: # 你的User类属性定义 id: int username: str ... def pdf_repr(self, users: list[User]): # 此处写users[0]. 就会自动弹出User类的属性补全 ...
如果是Python 3.7/3.8版本,也可以在代码开头加from __future__ import annotations后直接用上面的写法,不需要额外导入其他类。
Python 3.8及更早版本写法
需要从typing模块导入泛型容器List:
from typing import List class User: id: int username: str ... def pdf_repr(self, users: List[User]): ...
额外适配场景
如果你的参数不需要是严格的列表,只要是可迭代对象/序列,也可以用对应泛型标注,同样支持补全:
- 任意可迭代对象(列表、元组、生成器等):
Iterable[User](需从typing导入) - 不可变序列(元组、不可变列表等):
Sequence[User](需从typing导入)
内容的提问来源于stack exchange,提问作者user17189165
相关产品推荐
相关产品推荐

