新式类和经典类的区别

经典类时 多继承时候 会深度查找 

新式     多继承时候   会广度查找 

父类或者以上有object 就是新式类  否则是经典类

新式类  类内  属性 super().__init__

经典类 类内  属性   类名.__init__

经典  类外   类.方法(对象)

新式类 super(子类,对象)

Animal.__init__(self,name,aggressivity,life_value) #第一种经典派生属性  

super().__init__(name,aggressivity,life_value)     新式类  

Animal.eat(Two_dog) #类名.方法(对象) 继承父类

super(Dog,Two_dog).eat()

python 2  单继承 经典类 新式类都能用 

python3  单继承默认新式类  但是经典类会自动转化成新式类

多继承

 新式类会有object  按照广度优先

  print(F.__mro__) #只有新式才有这个属性可以查看线性列表,经典类没有这个属性 F代表最低的子类

经典类深度优先

原文地址:https://www.cnblogs.com/xiaoluoboer/p/7897017.html