0% found this document useful (0 votes)
8 views4 pages

Constructors in Python

Constructors in Python, defined by the __init__() method, are used to initialize class data members when an object is created, with types including default and parameterized constructors. Destructors, defined by the __del__() method, are called when an object is destroyed, although Python's garbage collector manages memory automatically. Examples illustrate the usage of both constructors and destructors in class definitions.

Uploaded by

arka
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views4 pages

Constructors in Python

Constructors in Python, defined by the __init__() method, are used to initialize class data members when an object is created, with types including default and parameterized constructors. Destructors, defined by the __del__() method, are called when an object is destroyed, although Python's garbage collector manages memory automatically. Examples illustrate the usage of both constructors and destructors in class definitions.

Uploaded by

arka
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Constructors in Python

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 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 constructor
Types of constructors:

 Default constructor: The default constructor is simple constructor which


doesn’t accept any arguments. It’s 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 take 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:

class GeekforGeeks:
geek = ""
# 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 class


obj = GeekforGeeks()

# calling the instance method using the object obj


obj.print_Geek()
Example of parameterized constructor:
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 constructor
obj = Addition(1000, 2000)

# perform Addition
obj. calculate()

# display result
obj. display()

Output :
First number = 1000
Second number = 2000
Addition of two numbers = 3000

DESTRUCTORS IN PYTHON:

Destructors are called when an object gets destroyed. In Python, destructors


are not needed as much needed in C++ because Python has a garbage collector
that handles memory management automatically.
The __del__ () method is a known as a destructor method in Python. It is called
when all references to the object have been deleted i.e when an object is
garbage collected.
Syntax of destructor declaration:

def __del__ (self):


# body of destructor
Example:

# Python program to illustrate destructor


class Employee:

# Initializing
def __init__(self):
print ('Employee created.')

# Deleting (Calling destructor)


def __del__(self):
print ('Destructor called, Employee deleted.')

obj = Employee()
del obj

Output:
Employee created.
Destructor called, Employee deleted.
Note: The destructor was called after the program ended or when all the
references to object are deleted i.e when the reference count becomes zero, not
when object went out of scope.

Example 2: This example gives the explanation of above mentioned note. Here,
notice that the destructor is called after the ‘Program End…’ printed.

# Python program to illustrate destructor

class Employee:

# Initializing
def __init__(self):
print('Employee created')

# Calling destructor
def __del__(self):
print("Destructor called")

def Create_obj():
print ('Making Object...')
obj = Employee()
print ('function end...')
return obj

print ('Calling Create_obj () function...')


obj = Create_obj()
Print ('Program End...')

Output:
Calling Create_obj() function...
Making Object...
Employee created
function end...
Program End...
Destructor called

You might also like