允许扩展类
class_extension的Python项目详细描述
#类扩展
一种扩展python类的机制。
更安全的替代方案。
它有各种额外的检查来避免问题。
pros:
*促进功能内聚;
跨类依赖代码可以保持在一起,
简化理解(只需参考一个文件就可以查看某些东西是如何工作或进行更改的)。
*实际上比python的类定义更安全对现有名称检查断言应有的BR/>机制。也就是说,我们不能用扩展定义两次
,但是我们可以使用普通的
类。
*提供了一种在添加方法时避免循环导入的方法。
这对大型项目是一个巨大的好处。
*提供了一种从外部库扩展类的好方法。
这也是一个很好的好处,因为有时不可能在外部库中使用子类。
cons:
*方法在类实例化时不会出现在元类中。
这应该不是问题,因为元类无论如何都不应该关注以这种方式添加的方法。
*让希望所有方法都在类定义内的开发人员感到惊讶。
注意:
明确禁止猴子修补。
这意味着不能替换现有类中的属性。
但是,可以重写超类方法,像普通类可以
,并且总是可以创建子类并扩展它。
一种扩展python类的机制。
更安全的替代方案。
它有各种额外的检查来避免问题。
pros:
*促进功能内聚;
跨类依赖代码可以保持在一起,
简化理解(只需参考一个文件就可以查看某些东西是如何工作或进行更改的)。
*实际上比python的类定义更安全对现有名称检查断言应有的BR/>机制。也就是说,我们不能用扩展定义两次
,但是我们可以使用普通的
类。
*提供了一种在添加方法时避免循环导入的方法。
这对大型项目是一个巨大的好处。
*提供了一种从外部库扩展类的好方法。
这也是一个很好的好处,因为有时不可能在外部库中使用子类。
cons:
*方法在类实例化时不会出现在元类中。
这应该不是问题,因为元类无论如何都不应该关注以这种方式添加的方法。
*让希望所有方法都在类定义内的开发人员感到惊讶。
注意:
明确禁止猴子修补。
这意味着不能替换现有类中的属性。
但是,可以重写超类方法,像普通类可以
,并且总是可以创建子类并扩展它。