元类(metaclass)及动态属性(dynamic attribute)都是很强大的Python特性,然后他们也可能导致及其古怪、及其突然的行为。本节讲解这些机制的常见用法,以确保各位程序员写出来的代码符合最小惊讶原则(rule of least surprise)。
-
第二十九条:用纯属性取代get和set方法
-
第三十条: 考虑用@property来代替属性重构
-
第三十一条:用描述符来改写需要复用的@property方法
-
第三十二条:用__getattr__、__getattribute__和__setatr__实现按需生成的属性
-
第三十三条:用元类来验证子类
-
第三十四条:用元类来注册子类
-
第三十五条:用元类来注解类的属性
第二十九条:用纯属性取代get和set方法
第三十条: 考虑用@property来代替属性重构
第三十一条:用描述符来改写需要复用的@property方法
第三十二条:用__getattr__、__getattribute__和__setatr__实现按需生成的属性
第三十三条:用元类来验证子类
第三十四条:用元类来注册子类
第三十五条:用元类来注解类的属性