from django.test import TestCase # Create your tests here. # 归并算法 class A:pass class B(A):pass class C(A):pass class D(B):pass class E(C):pass class F(D,E):pass # 第一步 先找出F类的父类的MRO # D [D,B,A,O] # E [E,C,A,O] # merge([D,B,A,O], [E,C,A,O], [D,E]) # 第一个表的表头 后面所有的表去掉表头部分不能含有这个D # FD merge([B,A,O], [E,C,A,O], [E]) # FDB merge([A,O], [E,C,A,O], [E]) # 不满足条件时 取二个 # FDBE merge([A,O], [C,A,O]) # FDBEC merge([A,O], [A,O]) # FDBECAO print(F.__mro__)