python-init-method.md

#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.


#Example

Create a class named Person, use the init() method to assign values for name and age:

pythonclass Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age

p1 = Person("Emil", 36)

print(p1.name)
print(p1.age)
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.

#Example: Creating a class without init()

pythonclass Person:
  pass

p1 = Person()
p1.name = "Tobias"
p1.age = 25

print(p1.name)
print(p1.age)

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


#Default Values in init()

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

#Example: Set a default value for the age parameter

pythonclass 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: Create a Person class with multiple parameters

pythonclass 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)