关于python 多重继承的顺序问题

我想问一下为什么一下继承左边一下继承右边?

class A:
    def __init__(self):
        super().__init__()
        print("A")

class B:
    def __init__(self):
        super().__init__()
        print("B")

class C(A, B):
    def __init__(self):
        super().__init__()
        print("C")

c = C()   # 顺序是  BAC

class A:
    def __init__(self):
        print('A')


class B(A):
    def __init__(self):
        print('B')
        super().__init__()


class C(A):
    def __init__(self):
        print('C')
        super().__init__()


class D(A):
    def __init__(self):
        print('D')
        super().__init__()


class E(B, C):
    def __init__(self):
        print('E')
        super().__init__()


class F(C, D):
    def __init__(self):
        print('F')
        super().__init__()


class G(E, F):
    def __init__(self):
        print('G')
        super().__init__()


g = G()  # 顺序是GEBFCDA