Каково назначение метода __init__ в Python?

Ответ

Метод __init__ в Python — это конструктор класса. Он автоматически вызывается в момент создания нового экземпляра (объекта) и используется для инициализации его начального состояния, то есть для присвоения значений атрибутам.

Ключевые особенности:

  • Первый параметр: Всегда self, который является ссылкой на создаваемый экземпляр.
  • Инициализация: Принимает аргументы (кроме self) для установки начальных значений атрибутов объекта.
  • Не возвращает значение: Его задача — модифицировать объект, а не возвращать что-либо.

Пример:

class User:
    def __init__(self, username, email):
        print(f"Создание нового пользователя: {username}")
        self.username = username
        self.email = email
        self.is_active = True # Атрибут со значением по умолчанию

# При создании экземпляра User(...) автоматически вызывается __init__
user1 = User("alice", "alice@example.com")

print(user1.username)  # Вывод: alice
print(user1.is_active) # Вывод: True

Если метод __init__ в классе не определен, Python использует конструктор по умолчанию от базового класса object, который ничего не делает.