lang
lang/python/oop/index.md
medium
lang-python-oop-index
Python 面向对象与数据类规则索引(方法类型与 property / MRO 与 super / 建模选型 / 描述符协议 / 子类钩子与元类)。Use when 设计类层次 / 选数据建模方案 / 排查多继承或属性访问问题。
子项索引
| 子项 | 一句话 |
|---|---|
| py-oop-method-types-property skill | 区分实例方法 / @classmethod / @staticmethod,并用 @property 把计算字段暴露成只读属性 |
| py-oop-mro-super skill | 用 MRO(C3 线性化)理解多继承调用顺序,正确写 super() 协作链,优先组合而非深继承 |
| py-oop-dataclass-vs-pydantic skill | 数据载体建模选型——纯内部结构用 dataclass、外部输入需校验用 pydantic v2、第三方零依赖值对象用 attrs |
| py-oop-descriptor-protocol skill | 用描述符协议(__get__/__set__/__set_name__)把字段的校验或惰性计算抽成可复用对象——property、ORM 字段背后的机制 |
| py-oop-init-subclass-metaclass skill | 在子类定义时做注册或校验优先用 __init_subclass__,定义接口契约用 ABC/abstractmethod,元类仅留给极少数框架级场景 |