第二十集:三大特性-继承-多继承关系列表
'''
# 在实现继承的语法后,程序会自动生成一个继承的列表 MRO(method realtion order) 方法关系列表
# MRO列表生成的原则:
# # 1.子类永远在父类的前面
# # 2.同一等级的类,按照子类中的继承顺序衔接
# # 3.先子类,后父类的顺序原则,最后的类时系统提供的Object类
# super() 在调用时,并不是查找父类而是去MRO列表去找上一个类
# super()方法在调用时,会自动调用把self传入到上一级类的方法中
# 类关系检测 issubclass()
# issubclass() 检测一个类是否是另一个类的子类
'''
class A():
pass
class B(A):
pass
class C(A):
pass
class D(B, C):
pass
print(D.mro())
# [, , , , ]
print(C.mro())
# [, , ]
# 检测一个类是另一个类的子类
res = issubclass(D, B) # D类是不是B类的子类
res = issubclass(C, B) # D类是不是B类的子类
print(res)