在Python 2及以前的版本中,由任意内置类型派生出的类都属于“新式类”,反之,不由任意内置类型派生出的类,则称之为“经典类”。
在Python 3之后就已经不再区分“新式类”和“经典类”,因为所有的类都派生自内置类型object(即使没有显示的继承object类型),即所有的类都是“新式类”。
经典类:没有继承object的类
新式类:继承了object的类
区别:
经典类 新式类
经典类多继承属性搜索顺序: 采用深度优先,先深入继承树左侧,再返回,开始找右侧 新式类多继承属性搜索顺序: 采用c3算法,广度优先,先水平搜索,然后再向上移动
经典类不需要。 新式类都是从object继承。
经典类slots 属性没用 新式类增加了slots内置属性, 可以把实例属性的种类锁定到slots规定的范围之中。
新式类增加了getattribute方法
python经典类和新式类
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 简介 我们挑战自己去为用户创建一种可视化语言,该语言综合了优秀创新设计的经典原则和工艺与科学的可能性。这就是mat...