在Python中,经典类(class Person:)和新式类(class Person(object):)的主要区别就是体现在多继承的顺序上。
Python 2.x中默认都是经典类,只有显式继承了object才是新式类;
Python 3.x中默认都是新式类,不必显式地继承object。
假设现在有一个D类继承了B类和C类,B类和C类又分别继承了A类。
在Python2.7中分别执行如下经典类代码:
# Author:Zheng Na # encoding=utf-8 #当D类中有构造函数时,实例化时会执行D类的构造函数 class A: def __init__(self): print("A") class B(A): def __init__(self): print("B") class C(A): def __init__(self): print("C") class D(B,C): def __init__(self): print("D") d = D() #输出:D