Use super().__init()__ to call the immediate parent class constructor in Python. Calling a parent constructor within a child class executes the operations of the parent class constructor in the child class.
super().__init__()
Python call parent constructor example
Simple example code.
Python recommends using super().
class A(object):
def __init__(self):
print("world")
class B(A):
def __init__(self):
print("Hello")
super().__init__()
obj = B()
Output:
How to invoke the super constructor in Python?
Answer: Directly call the __init()__ method of a parent class to invoke its constructor
class Person:
def __init__(self, name):
print(name + " is a cricketer")
class Athlete(Person):
def __init__(self, name):
print(name + " is an athlete")
class FamousPerson(Person):
def __init__(self, name):
print(name + " is a famous person")
class Sachin(Athlete, FamousPerson):
def __init__(self):
Athlete.__init__(self, "Sachin")
FamousPerson.__init__(self, "Sachin")
Person.__init__(self, "Sachin")
Sachin()
Output:
Sachin is an athlete
Sachin is a famous person
Sachin is a cricketer
Note: super()
is now equivalent to super(<containing classname>, self)
as per the docs.
Do comment if you have any doubts or suggestions on this Python constructor tutorial.
Note: IDE: PyCharm 2021.3.3 (Community Edition)
Windows 10
Python 3.10.1
All Python Examples are in Python 3, so Maybe its different from python 2 or upgraded versions.
git gud
agreed