Before going to explain super() first we need to know about multiple inheritance concept.
Multiple inheritance : Means one child class can inherit multiple parent classes.
In the following example Child class inherited attributes methods from the Parent class.
Example
class Father:
fathername = ""
def father(self):
print(self.fathername)
class Mother:
mothername = ""
def mother(self):
print(self.mothername)
class Child(Father, Mother):
def parent(self):
print("Father :", self.fathername)
print("Mother :", self.mothername)
s1 = Child()
s1.fathername = "Srinivas"
s1.mothername = "Anjali"
s1.parent()Output
Father : Srinivas Mother : Anjali
In the following example shows ( i.e) super() works with multiple inheritances
super() : The super function can be used to replace the explicit call to
Example
class Father:
fathername = ""
def father(self):
print(self.fathername)
class Mother:
mothername = ""
def mother(self):
print(self.mothername)
class Child(Father, Mother):
def parent(self):
super().__init__()
print("i am here")
print("Father :", self.fathername)
print("Mother :", self.mothername)
s1 = Child()
s1.fathername = "Srinivas"
s1.mothername = "Anjali"
s1.parent()When you run the program, the output will be
Output
i am here Father : Srinivas Mother : Anjali