19. Multiple Inheritance And MRO
Python supports multiple inheritance, controlled by Method Resolution Order (MRO).
Example
class A: pass
class B: pass
class C(A, B): pass
print(C.__mro__)
Diamond Problem
class A:
def greet(self): print("A")
class B(A):
def greet(self): print("B")
class C(A):
def greet(self): print("C")
class D(B, C): pass
print(D.__mro__)
Wrap-Up
- MRO defines method search order.
- Inspect with
.__mro__.