Constructors in Python
Prerequisites: Object-Oriented Programming in Python, Object-Oriented Programming in Python | Set 2
Constructors are generally used for instantiating an object. The task of constructors is to initialize(assign values) to the data members of the class when an object of the class is created. In Python the __init__() method is called the constructor and is always called when an object is created.
Syntax of constructor declaration :
def __init__(self):
# body of the constructorTypes of constructors :
- default constructor: The default constructor is a simple constructor which doesn’t accept any arguments. Its definition has only one argument which is a reference to the instance being constructed.
- parameterized constructor: constructor with parameters is known as parameterized constructor. The parameterized constructor takes its first argument as a reference to the instance being constructed known as self and the rest of the arguments are provided by the programmer.
Example of default constructor :
Python3
class GeekforGeeks: # default constructor def __init__(self): self.geek = "GeekforGeeks" # a method for printing data members def print_Geek(self): print(self.geek)# creating object of the classobj = GeekforGeeks()# calling the instance method using the object objobj.print_Geek() |
Output
GeekforGeeks
Example of the parameterized constructor :
Python3
class Addition: first = 0 second = 0 answer = 0 # parameterized constructor def __init__(self, f, s): self.first = f self.second = s def display(self): print("First number = " + str(self.first)) print("Second number = " + str(self.second)) print("Addition of two numbers = " + str(self.answer)) def calculate(self): self.answer = self.first + self.second# creating object of the class# this will invoke parameterized constructorobj1 = Addition(1000, 2000)# creating second object of same classobj2 = Addition(10, 20)# perform Addition on obj1obj1.calculate()# perform Addition on obj2obj2.calculate()# display result of obj1obj1.display()# display result of obj2obj2.display() |
Output
First number = 1000 Second number = 2000 Addition of two numbers = 3000 First number = 10 Second number = 20 Addition of two numbers = 30





Please Login to comment...