桩代码stub是**假实现、占位符**不是真正的功能代码。## 本质| 类型 | 作用 | 例子 ||------|------|------|| **真实实现** | 实际运行的逻辑 | C 语言写的 enumerate 迭代器 || **桩代码stub** | 给类型检查工具/IDE 看的说明书 | .pyi 文件里的假函数 |## enumerate 的真实 vs 桩代码Python 源码结构Lib/├── enum.py ← 真实实现运行时执行└── typeshed/└── stdlib/└── builtins.pyi ← 桩代码给 mypy/IDE 看**真实实现**C 层简化示意python# 这是 C 写的实际在 python.exe 里class enumerate:def __init__(self, iterable, start0):self.iterable iterableself.start startself.index startdef __iter__(self):return selfdef __next__(self):# ... 真正的迭代逻辑 ...pass**桩代码**.pyi 文件纯类型提示python# builtins.pyi —— 没有函数体只有类型签名class enumerate(Iterator[tuple[int, T]], Generic[T]):def __init__(self, iterable: Iterable[T], start: int 0) - None: ...def __iter__(self) - Self: ...def __next__(self) - tuple[int, T]: ...## 为什么要桩代码| 场景 | 原因 ||------|------|| **C 扩展模块** | 真实代码是 .so/.pyd 二进制Python 解析器看不懂 || **类型检查** | mypy 需要知道参数类型、返回值类型 || **IDE 提示** | PyCharm/VSCode 需要知道 enumerate 返回 tuple[int, T] || **跨平台** | 不同系统 C 实现不同桩代码统一接口描述 |## 一句话 **桩代码是类型说明书**没有真实逻辑只为告诉工具这个函数长什么样、接受什么参数、返回什么类型。真实跑的还是 C 写的二进制。