Python2.7继承流程
经典类和新式类,从字面上可以看出一个老一个新,新的必然包含了跟多的功能,也是之后推荐的写法,从写法上区分的话,如果 当前类或者父类继承了object类,那么该类便是新式类,否则便是经典类。
经典类和新式类
经典类(当未继承object时):
#深度优先
class Bar:
def f1(self):
print("BAR")
class A(Bar):
def f(self):
print("A")
class B(Bar):
def f1(self):
print("B")
class C(A):
def f(self):
print("C")
class D(B):
def f1(self):
print("D")
class E(C,D):
def f(self):
print("E")
obj = E()
obj.f1()
新式类(继承object时):
#广度优先
class Bar(object):
def f1(self):
print("BAR")
class A(Bar):
def f(self):
print("A")
class B(Bar):
def f(self):
print("B")
class C(A):
def f(self):
print("C")
class D(B):
def f(self):
print("D")
class E(C,D):
def f(self):
print("E")
obj = E()
obj.f1()
#执行流程:E-C-A-D-B-Bar