bugl
bugl
HomeLearnPatternsPathsSearchPremium
HomeLearnPatternsPaths
Learn/Python/Object-Oriented Python
Python•Object-Oriented Python

Python __init__() Method

The __init__() Method

All classes have a built-in method called init() , which is always executed when the class is being initiated.

The init() method is used to assign values to object properties, or to perform operations that are necessary when the object is being created.

__init__()

Note

The init() method is called automatically every time the class is being used to create a new object.

Why Use __init__()?

Without the init() method, you would need to set properties manually for each object:

__init__()

Using init() makes it easier to create objects with initial values:

__init__()

Default Values in __init__()

You can also set default values for parameters in the init() method:

Example

class Person:
  def __init__(self, name, age=18):
    self.name = name
    self.age = age
    p1 = Person("Emil")
    p2 = Person("Tobias", 25)
    print(p1.name, p1.age)
    print(p2.name, p2.age)

Multiple Parameters

The init() method can have as many parameters as you need:

Example

class Person:
  def __init__(self, name, age, city, country):
    self.name = name
    self.age = age
    self.city = city
    self.country = country
    p1 = Person("Linus", 30, "Oslo", "Norway")
    print(p1.name)
    print(p1.age)
    print(p1.city)
    print(p1.country)

Previous

Python Classes and Objects

Next

Python self Parameter

This chapter

Overview
10

Lessons

30m

Read time

1. Python OOP2. Python Classes and Objects3. Python __init__() Method4. Python self Parameter5. Python Class Properties6. Python Class Methods7. Python Inheritance8. Python Polymorphism9. Python Encapsulation10. Python Inner Classes

On this page

The __init__() MethodWhy Use __init__()?Default Values in __init__()Multiple Parameters