在Python 2及以前的版本中,由任意内置类型派生出的类都属于“新式类”,反之,不由任意内置类型派生出的类,则称之为“经典类”。
在Python 3之后就已经不再区分“新式类”和“经典类”,因为所有的类都派生自内置类型object(即使没有显示的继承object类型),即所有的类都是“新式类”。
经典类:没有继承object的类
新式类:继承了object的类
区别:
经典类 新式类
经典类多继承属性搜索顺序: 采用深度优先,先深入继承树左侧,再返回,开始找右侧 新式类多继承属性搜索顺序: 采用c3算法,广度优先,先水平搜索,然后再向上移动
经典类不需要。 新式类都是从object继承。
经典类slots 属性没用 新式类增加了slots内置属性, 可以把实例属性的种类锁定到slots规定的范围之中。
新式类增加了getattribute方法
python经典类和新式类
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 简介 我们挑战自己去为用户创建一种可视化语言,该语言综合了优秀创新设计的经典原则和工艺与科学的可能性。这就是mat...