Python Constructor (__init__ Method)
What is a Constructor?
A constructor is a special method in a class that is automatically called when a new object is created. In Python, the constructor method is named __init__.
Why Use a Constructor?
- To initialize object properties when the object is created.
- To avoid setting attributes manually after object creation.
Syntax of a Constructor
class ClassName:
def __init__(self, arguments):
self.attribute = argumentsExample 1: Simple Constructor
class Student:
def __init__(self, name, age):
self.name = name
self.age = age
s1 = Student("Ravi", 21)
print(s1.name)
print(s1.age)Output:
Ravi
21Explanation:
__init__()is called automatically whens1is created.self.nameis assigned"Ravi"andself.ageis assigned21.print(s1.name)→ prints"Ravi".print(s1.age)→ prints21
Example 2: Constructor with Default Values
class Car:
def __init__(self, brand="Honda", model="City"):
self.brand = brand
self.model = model
c1 = Car()
c2 = Car("Toyota", "Fortuner")
print(c1.brand, c1.model) # Honda City
print(c2.brand, c2.model) # Toyota FortunerOutput:
Honda City
Toyota FortunerExplanation:
c1 = Car()uses default values, so:c1.brand = "Honda",c1.model = "City"
c2 = Car("Toyota", "Fortuner")uses custom values.- Each
printshows the object's attributes.
Example 3: Multiple Objects with Same Constructor
class Employee:
def __init__(self, emp_id, emp_name):
self.emp_id = emp_id
self.emp_name = emp_name
e1 = Employee(101, "Alice")
e2 = Employee(102, "Bob")
print(e1.emp_name)
print(e2.emp_name)Output:
Alice
BobExplanation:
e1ande2are different objects with unique data.- The constructor takes different arguments for each.
- Each object retains its own data using
self.
Summary
| Example | Purpose | Output Example |
|---|---|---|
| 1 | Basic object creation with data | Ravi21 |
| 2 | Use default and custom constructor args | Honda CityToyota Fortuner |
| 3 | Multiple instances with same logic | AliceBob |