新式类 和 旧式类 的区别
一:首先先来说说这两种类的共性;
(1):顾名思义 就是类的特性 (封装、继承、多态【鸭子类型】)
新式类和旧式类 都是在继承是引用的的一些语句 实现的功能就 是继承的任务
二:两者的区别;
(1):顾名思义 就是类的特性 (封装、继承、多态【鸭子类型】)
在python2 和python3 中的写法完全不一样也可说是定义方法不 一样
因为Python 2.x中默认都是经典类,所以只有显式继承了object才是新式类

而Python 3.x中默认都是新式类,不必显式的继承object

新式类更符合oop的编程思想 ,统一了python中的类型机制。
三:其次
新式类对象可以直接通过__class__属性获取自身类型:type
继承搜索的顺序发生了改变,经典类多继承属性搜索顺序:
先深入继承树左侧,再返回,开始找右侧;新式类多继承属性搜索顺序: 先水平搜索,然后再向上移动
新式类增加了__slots__内置属性, 可以把实例属性的种类锁定到 __slots__规定的范围之中
新式类增加了__getattribute__方法
四:为大家写上一段新式类和旧式类继承关系的代码

这是新式类 等于我继承自C
旧式 类就是我继承自A
五:python2中定义新式类 旧式类


网友评论