Python multiple inheritance: Which __init__ actually runs

Python multiple inheritance: Which __init__ actually runs

In a Python child class with two parents, which __init__ runs?

class A:
    def __init__(self):
        print('A')
class B:
    def __init__(self):
        print('B')
class C(A, B):  # inherits from both
    pass
c = C()  # prints A -- MRO means B.__init__ does *not* run