这里是全站文章的归档入口,下面是按时间倒序排列的全部文章。若想按主题浏览,请从首页的专题分类进入。
《Python高级编程》2.2 类装饰器、__set_name__ 与属性工厂
本节讲透类装饰器与 __set_name__ 的执行时机:类装饰器在元类 __init__ 之后运行,看到的是已经完成 __set_name__ 的类对象;__set_name__ 按定义顺序为每个描述符调用一次,且 3.12 起异常不再被包装成 RuntimeError。再用属性工厂与 __init_subclass__ 组合实测一个字段收集框架,并对照标准库 cached_property。