如何获取Python标准库的类型信息以添加类型提示
Python标准库类型提示信息获取方案
你可以通过以下几种方式获取标准库的类型定义,完成代码的类型标注:
- 依赖类型检查工具内置的类型存根
常用类型检查工具mypy、pyright默认内置了官方维护的标准库类型存根文件,开启类型检查后会自动识别标准库函数的参数与返回值类型。以你提到的os.path.dirname为例,它的入参支持str或os.PathLike类型,返回值为str类型,你的代码可以直接写为:from os import PathLike from typing import Union examplePath: Union[str, PathLike] = "/tmp/test.txt" dirName: str = os.path.dirname(examplePath) - 查看本地类型存根文件
类型检查工具自带的标准库类型存根存放在虚拟环境的lib/python<对应版本>/site-packages/<检查工具名>/typeshed/stdlib目录下,找到对应模块的.pyi后缀存根文件,即可查看所有函数、类的完整类型声明。 - 使用IDE跳转查看类型定义
PyCharm、安装Pylance插件的VS Code都支持类型跳转功能:按住Ctrl(Mac系统按住Command)点击对应的标准库函数名,即可直接跳转到对应的类型存根文件,查看准确的类型定义。 - 特殊场景兜底方案
如果遇到极少数没有明确存根的函数,可以先用typing.Any做临时标注,也可以根据官方文档的功能描述自行定义匹配的类型,后续确认准确类型后再调整即可。
内容的提问来源于stack exchange,提问作者In78
相关产品推荐
相关产品推荐

