Python method resolution order: Reading a class’s __mro__

Python method resolution order: Reading a class's __mro__

Inheritance in Python changes the attribute lookup path, aka the “method resolution order,” or MRO:

class Child:
    pass

Child.__mro__ # (__main__.Child, object)

class Child(Parent):
    pass

Child.__mro__ # (__main__.Child, __main__.Parent, object)