编写高质量的Python代码系列(四)之元类及属性

时间:2022-06-22 01:17:40

  元类(metaclass)及动态属性(dynamic attribute)都是很强大的Python特性,然后他们也可能导致及其古怪、及其突然的行为。本节讲解这些机制的常见用法,以确保各位程序员写出来的代码符合最小惊讶原则(rule of least surprise)。

  • 第二十九条:用纯属性取代get和set方法

  • 第三十条: 考虑用@property来代替属性重构

  • 第三十一条:用描述符来改写需要复用的@property方法

  • 第三十二条:用__getattr__、__getattribute__和__setatr__实现按需生成的属性

  • 第三十三条:用元类来验证子类

  • 第三十四条:用元类来注册子类

  • 第三十五条:用元类来注解类的属性

 

第二十九条:用纯属性取代get和set方法

 

第三十条: 考虑用@property来代替属性重构

 

第三十一条:用描述符来改写需要复用的@property方法

 

第三十二条:用__getattr__、__getattribute__和__setatr__实现按需生成的属性

 

第三十三条:用元类来验证子类

 

第三十四条:用元类来注册子类

 

第三十五条:用元类来注解类的属性