一个子类可以继承多个父类,就是多继承,并且拥有所有父类的属性和方法。
例如 孩子会继承自己的父亲和母亲的特征。
1、语法
class 子类名(父类名1,父类名2…) : pass
class A(object):
num_a = 10
def test1(self):
print('A test1')
def teset2(self):
print('A test2')
class B(object):
num_b = 20
def test1(self):
print('B test3')
def teset4(self):
print('B test4')
class C(A, B):
def test5(self):
print('C test5')
c = C()
c.test1() # A test1
c.teset2() # A test2
c.teset4() # B test4
print(C.num_a) # 10
print(C.num_b) # 20
c.test5() # C test5
# 父类有相同的方法的时候会调用哪一个呢?
创建子类时,会按照继承的父类的顺序优先调用前面父类的方法
#Python会根据 MRO(method resolution order) 方法解析顺序列表进行查找。方法如下:
print(C.mro()) # [<class '__main__.C'>, <class '__main__.A'>, <class '__main__.B'>, <class 'object'>]
print(C.__mro__) # (<class '__main__.C'>, <