Python Constructors - Default And Parameterized
Maybe your like
A constructor is a special kind of method which is used for initializing the instance variables during object creation. In this guide, we will see what is a constructor, types of it and how to use them in the python programming with examples.
1. What is a Constructor in Python?
Constructor is used for initializing the instance members when we create the object of a class.
For example: Here we have a instance variable num which we are initializing in the constructor. The constructor is being invoked when we create the object of the class (obj in the following example).
class DemoClass: # constructor def __init__(self): # initializing instance variable self.num=100 # a method def read_number(self): print(self.num) # creating object of the class. This invokes constructor obj = DemoClass() # calling the instance method using the object obj obj.read_number()Output:
1001.1 Syntax of constructor declaration
As we have seen in the above example that a constructor always has a name init and the name init is prefixed and suffixed with a double underscore(__). We declare a constructor using def keyword, just like methods.
def __init__(self): # body of the constructor2. Types of constructors in Python
We have two types of constructors in Python. 1. default constructor – this is the one, which we have seen in the above example. This constructor doesn’t accept any arguments. 2. parameterized constructor – constructor with parameters is known as parameterized constructor.
2.1 Python – default constructor example
Note: An object cannot be created if we don’t have a constructor in our program. This is why when we do not declare a constructor in our program, python does it for us. Lets have a look at the example below.
Example: When we do not declare a constructor In this example, we do not have a constructor but still we are able to create an object for the class. This is because there is a default constructor implicitly injected by python during program compilation, this is an empty default constructor that looks like this:
def __init__(self): # no body, does nothing.Source Code:
class DemoClass: num = 101 # a method def read_number(self): print(self.num) # creating object of the class obj = DemoClass() # calling the instance method using the object obj obj.read_number()Output:
101Example: When we declare a constructor In this case, python does not create a constructor in our program.
class DemoClass: num = 101 # non-parameterized constructor def __init__(self): self.num = 999 # a method def read_number(self): print(self.num) # creating object of the class obj = DemoClass() # calling the instance method using the object obj obj.read_number()Output:
9992.2 Python – Parameterized constructor example
When we declare a constructor in such a way that it accepts the arguments during object creation then such type of constructors are known as Parameterized constructors. As you can see that with such type of constructors we can pass the values (data) during object creation, which is used by the constructor to initialize the instance members of that object.
class DemoClass: num = 101 # parameterized constructor def __init__(self, data): self.num = data # a method def read_number(self): print(self.num) # creating object of the class # this will invoke parameterized constructor obj = DemoClass(55) # calling the instance method using the object obj obj.read_number() # creating another object of the class obj2 = DemoClass(66) # calling the instance method using the object obj obj2.read_number()Output:
55 66Top Related Articles:
- Python Recursion
- How to create Class and Objects in Python
- Python Keywords and Identifiers with examples
- Python User defined Functions
- Python OOPs Concepts
Tag » What Is A Constructor In Python
-
What Is A Constructor In Python?
-
Constructors In Python - GeeksforGeeks
-
What Is A Constructor In Python?
-
Python Constructors - Javatpoint
-
Python Class Constructors: Control Your Object Instantiation
-
Constructor In Python [Guide] - PYnative
-
How To Create A Constructor In Python
-
Constructors In Python
-
Constructor In Python - Scaler Topics
-
What Are Constructors In Python? - Quora
-
Constructor In Python | Python Tutorial - YouTube
-
Python Constructor - YouTube
-
How To Implement Constructors In Python - Edureka
-
Python Constructors - W3schools.blog