__init__ in Python
__init__ in Python
Whenever we listen class, object or Opps one thing comes to our mind is Constructor if we know basic of c++. In this article, we will discuss __init__ in Python, its usages and many more things. If you are familiar with c++, you might have the idea of constructor, __init__ method is the constructor in python.
Let’s understand the function of __init__ in Python.
															Function of __init__
- The __init__ method is similar to constructors in c++ and Java.
 - Constructors are used to initialize the object’s state.
 - The task of constructors is to initialize(assign values) to the data members of the class when an object of class is created.
 
Synatx:
class ClassName:
def __init__( self , variables...):
##body
Code #1:
#python Program
#Rishikesh 
class Prepster: 
    def __init__(self, name , userid,password): ##constructor 
        self.name=name  ## assigning values to variables 
        self.userid=userid 
        self.password=password
ob1=Prepster(‘rishikesh’,‘Abc’,‘abc@123’) ##object 
print(ob1.name)
Output:
rishikesh
Let’s understand this code:
- a prepster name “rishikesh” is created. While creating a prepster, “rishikesh”, “Userid”, “password” is passed as an argument, this argument will be passed to the __init__ method to initialize the object.
 - The keyword self represents the instance of a class and binds the attributes with the given arguments.
 
															Code #2 (init with inheritance):
#python Program
#Rishikesh 
class PrepInsta:
    def __init__(self,name):
        self.name=name 
        print(‘You are in Parent class’)
class Prepster(PrepInsta): 
    def __init__(self, name): ##constructor 
        PrepInsta.__init__(self,name) 
        print(‘You are in Child Class’)
        self.name=name  ## assigning values to variables
ob1=Prepster(‘rishikesh’) ##object 
Output:
You are in Parent class
You are in Child Class
- Here the parent class constructor is called first, but in Python, it is not compulsory that parent class constructor will always be called first. The order in which the __init__ method is called for a parent or a child class can be modified. This can simply be done by calling the parent class constructor after the body of child class constructor.
 
#python Program
#Rishikesh 
class PrepInsta:
    def __init__(self,name):
        self.name=name 
        print(‘You are in Parent class’)
class Prepster(PrepInsta): 
    def __init__(self, name): ##constructor 
        print(‘You are in Child Class’)
        self.name=name  ## assigning values to variables 
        PrepInsta.__init__(self,name)
ob1=Prepster(‘rishikesh’) ##object 
Output:
You are in Child Class
You are in Parent class

                            
                        
Login/Signup to comment