Constructor
Constructor is a member function that is used to initialise the object that means instance variables when Object is declared.
In python, __init__ method is called as constructor which is invoked by ClassName() at the time of declaration of object.
Class definition in Python can also have regular executable code including variables. The code will be directly executed when class is loaded into memory without waiting for object creation.
variables directly included in the class definition are called as ‘class variables’ which are common variables to all objects.
to create instance variables that can have different values to each object declared from the class, we must use __init__() function
#Example class definition contains constructor
class student:
def __init__(self):
self.age=0 #data member
self.marks=0.0
return
def setData(self):
self.age=25
self.marks=99.5
return
def disp(x): #member function
print("Age=",x.age)
print("Marks=",x.marks)
return
#mainprogram
#declaration of object from student class
phani=student()
phani.disp()
phani.setData()
phani.disp()
#Program2:
#Example class definition
class student:
def __init__(self):
self.age=0 #data member
self.marks=0.0
return
def setData(self):
self.age=25
self.marks=99.5
return
def setUserData(self,a,m):
self.age=a
self.marks=m
return
def setRunTimeData(self):
self.age=int(input("Enter your Age:"))
self.marks=float(input("Enter your Marks:"))
return
def disp(x): #member function
print("Age=",x.age)
print("Marks=",x.marks)
return
#mainprogram
#declaration of object from student class
phani=student()
phani.disp()
print()
phani.setData()
phani.disp()
print()
phani.setUserData(21,99.6)
phani.disp()
print()
phani.setUserData(20,97.3)
phani.disp()
print()
phani.setRunTimeData()
print()
print("Your data is:")
phani.disp()
#Program3:
#Example class definition
class student:
def __init__(self,a,m):
self.age=a #data member
self.marks=m
return
def setRunTimeData(self):
self.age=int(input("Enter your Age:"))
self.marks=float(input("Enter your Marks:"))
return
def disp(x): #member function
print("Age=",x.age)
print("Marks=",x.marks)
return
#mainprogram
#declaration of object from student class
phani=student(21,99.6)
phani.disp()
print()
phani.setRunTimeData()
print()
print("Your data is:")
phani.disp()
#Program4:
#Example of Constructor
#Definition of class
class Student:
def __init__(self):
self.name="None"
self.age=0
self.marks=0
def setData(self):
self.name=input("Enter your name:")
self.age=int(input("Enter your age:"))
self.marks=int(input("Enter you marks:"))
def show(self):
print(self)
print("Name =",self.name)
print("Age =",self.age)
print("Marks =",self.marks)
return
#main program
anil=Student()
anil.getData()
print("Details of Anil")
anil.show()
mounica=Student()
mounica.getData()
print()
print("Details of Mounica")
mounica.show()
#Example program for initialising objects with different values
#Definition of class
class Student:
def __init__(self,n,a,m):
self.name=n
self.age=a
self.marks=m
def setData(self):
self.name=input("Enter your name:")
self.age=int(input("Enter your age:"))
self.marks=int(input("Enter you marks:"))
def show(self):
print(self)
print("Name =",self.name)
print("Age =",self.age)
print("Marks =",self.marks)
return
#main program
anil=Student("Anil",21,99)
print("Details of Anil")
anil.show()
mounica=Student("Mounica",19,97)
print()
print("Details of Mounica")
mounica.show()
Practice Questions:
Q1: Create a class Car with constructor having brand and price. Create two objects and display data.
Q2: Create a class Rectangle with length and breadth in constructor. Add a method to calculate and display area of rectangle.
Q3: Create a class Employee that takes name, id, and salary as input inside constructor and prints them.
Q4: Create a class Student with default marks = 35 if marks are not given by user.
Q5: Create a class Shop with constructor that asks number of products and price of each product. Calculate total bill.
Q6: Write a program using constructor to store names of 5 students using loop
Q7: Create a class BankAccount with constructor taking name and initial balance. Add deposit and withdraw methods.