lang
lang/python/data-model/index.md
medium
lang-python-data-model-index
Python 语言核心/数据模型规则索引(可变默认参数 / is vs == / 拷贝语义 / dunder 协议 / 闭包延迟绑定 / GIL 与 free-threading)。Use when 排查共享状态 bug / 设计值对象 / 选并发模型。
子项索引
| 子项 | 一句话 |
|---|---|
| py-mutable-default-arg skill | 可变默认参数陷阱——def f(x=[]) 的默认值只在定义时求值一次并被复用 |
| py-is-vs-equals skill | is 比对象身份(同一个对象)/ == 比值相等;None、True、False 等单例用 is |
| py-copy-semantics skill | Python 是引用语义,赋值不复制;浅拷贝只复制一层,深拷贝用 copy.deepcopy |
| py-dunder-protocol skill | 自定义类的核心 dunder——__eq__ 与 __hash__ 必须成对、__repr__ 给开发者、__bool__/__len__ 定义真值 |
| py-closure-late-binding skill | 闭包延迟绑定——内层函数按名字而非值捕获外层变量,循环里建的闭包共享最终值 |
| py-gil-and-free-threading skill | GIL 让 CPython 同一时刻只跑一个线程的字节码,故多线程不加速 CPU 密集;3.13/3.14 free-threading(PEP 703/779) 可关 GIL |