元编程
2018-12-27 本文已影响0人
剑侠飞蓬
动态属性
- 用getattr和嵌套的对象来实现动态属性。
- 关键字后面加上下划线来应对冲突
- 用new方法来代替build(工厂)
- 用property装饰器的getter和setter做数据存取的切面
- 用一个特性工厂函数来返回property
- 属性描述符:
- 描述符基于协议实现,无需创建子类
- 描述符中设置托管实例的存储属性的值,需要用dict来进行,以免无限递归
- 用继承的方式提供有默认实现,有校验功能的描述符子类
- 用类装饰器来实现对描述符的存储属性key的赋值
- 类工厂函数type(name ,bases, dict)