python中的经典类和新式类

1、定义
Python 2.x中默认都是经典类,只有显式继承了object才是新式类(Python2.2出现新式类)
Python 3.x中默认都是新式类,不必显式的继承object

2、属性和方法
新式类可以直接通过class属性获取自身类型
新式类中增加了slots属性,可以对示例扩展的属性加以限制
新式类中增加了getattribute方法

3、多继承MRO(方法解释顺序)
经典类多继承属性搜索顺序: 先深入继承树左侧,再返回,开始找右侧(深度优先算法);
新式类多继承属性搜索顺序: 先水平搜索,然后再向上移动(广度优先算法)
以下是图解实例:


图片发自简书App

图片发自简书App
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容