经典类和新式类的写法:
<pre>
class A: #经典类(旧式类)写法
..................
class A(object): #新式类写法
..................
</pre>
广度优先
深度优先
在Python 3.x中:
<pre>class A(object):
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):
pass
# def init(self):
# print('------D')</pre>
经典类和新式类按统一的广度优先的顺序执行,所以D的继承会以广度优先的顺序来执行查找可用的init构造函数,即:D-B-C-A
在Python 2.x中:
经典类写法按深度优先的顺序执行,即D的继承会以深度优先的顺序来执行查找可用的init构造函数,即:D-B-A-C
新式类写法按广度优先的顺序执行,即D的继承会以深度优先的顺序来执行查找可用的init构造函数,即:D-B-C-A