Multiple inheritnace is possible in Python but it comes with the Diamond Problem as seen in the diagram below.
Class A is super class of Class B and Class C
Class D is sub-class of Class B and Class C
When instance of Class D is created which Class method will be called? This is a Diamond Problem
MRO will in this case execute the method of the Class B. i.e. in multiple inheritance the method of first in the super class is executed from left to right. If that method does not exists in first super class then will try and check in the second and finally to the parent class.
Use info() method to know which super class method will be executed. See below code snippet
But there are issues with MRO too. If the Class D inherits Class A and Class C it throws error – Cannot create a consistent MRO. See below code.