Open In App

Python Multiple Inheritance With super() Function

Last Updated : 27 Mar, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

We are given some classes and our task is to find out how super() function works with multiple inheritance in Python. In this article, we will see how Python super() works with Multiple Inheritance.

Python Multiple Inheritance With super()

Below, are examples of how Python’s Super() Work with Multiple Inheritance in Python:

Example 1: Multiple Inheritance with Python super()

In this example, the Child class inherits from both Parent1 and Parent2. When Child‘s constructor is called, super().__init__() invokes the initializer of the next class in the MRO, which is Parent2 in this case. This ensures that all parent classes are properly initialized.

Python3
class Parent1:
    def __init__(self):
        print("Parent1 initialized")


class Parent2:
    def __init__(self):
        print("Parent2 initialized")


class Child(Parent1, Parent2):
    def __init__(self):
        super().__init__()
        print("Child initialized")


child = Child()

Output
Parent1 initialized
Child initialized

Example 2: Advanced Use of super() with Multiple Inheritance

In this example, D inherits from both B and C, which themselves inherit from A. The super() function in each class’s constructor ensures that the initializers of the parent classes are called in the proper order (A, B, C). This maintains consistency and avoids potential conflicts in method resolution.

Python3
class A:
    def __init__(self):
        print("Initializing A")

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

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

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

d = D()

Output
Initializing A
Initializing C
Initializing B
Initializing D

Conclusion

In conclusion, Super() is an appealing guide to international item-oriented programming in Python, optimizing communication among more than one complicated habitat. By studying the manner it works on a unique container() sized device, you can put a few amusing on an elite gadget with the aid of growing your private code and enhancing it so that, the following time you run Python two times, it’s going to probably be pinnacle for the problem-loose journey ( keep in mind ). Validate it in here.


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads