在哪里可以查询Python内置类型方法的类型注解?
内置类型方法的类型注解相关说明
- CPython的C实现的内置类型、方法本身不会携带Python层面的类型注解,所有官方维护的内置类型注解都存放在类型桩(stub)文件集合中,
*.pyi格式的桩文件只保留类型签名,没有实际实现逻辑,是类型检查工具识别内置类型的核心依据。 - 你要查找的
set.symmetric_difference_update()方法的注解定义,在内置类型对应的桩文件中,具体的类型签名如下:
该方法是原地修改集合的方法,因此返回值标注为# 基于泛型定义的set类方法注解片段 from typing import TypeVar, Iterable, AbstractSet, overload, MutableSet _T = TypeVar("_T") class set(MutableSet[_T]): # 其他方法省略 @overload def symmetric_difference_update(self, __s: Iterable[_T]) -> None: ... @overload def symmetric_difference_update(self, __s: AbstractSet[object]) -> None: ...None,通过重载兼容了可迭代对象、集合两种入参类型,同时约束入参元素类型与当前集合的元素类型匹配。 - mypy等类型检查工具默认内置了全量的官方维护类型桩数据,运行检查时会直接读取桩文件中的类型签名,不需要读取C实现的源码即可完成类型校验。
内容的提问来源于stack exchange,提问作者Rich Holton
相关产品推荐
相关产品推荐

