在 Python 里,通常我们访问对象的属性(比如 obj.x),就像是从货架上直接拿东西,没有任何阻拦。
但是,如果你想在拿东西(读取)或放东西(写入)的时候搞点'小动作'——比如参数检查、日志记录、或者动态计算——你就需要一个'看门大爷'。
这个'看门大爷',就是描述符 (Descriptor)。
一、核心概念:什么是描述符?
在 Python 对象模型里,描述符就是一个把'属性访问'变成'方法调用'的代理类。
只要一个类实现了以下任意一个魔术方法,它生成的对象就是描述符:
__get__:有人要属性时触发(对应 )。

