Ответ
Метод __init__ — это конструктор объекта. Он автоматически вызывается при создании нового экземпляра класса и служит для инициализации его начального состояния.
Основные цели:
- Присвоение атрибутов экземпляра: Принять аргументы и сохранить их как поля объекта.
- Гарантия валидного состояния: Убедиться, что объект создается с корректными данными.
- Выполнение стартовой логики: Например, установка соединения или загрузка конфигурации.
Пример на Python:
class DatabaseConnection:
def __init__(self, host: str, port: int, user: str):
# Инициализация атрибутов экземпляра
self.host = host
self.port = port
self.user = user
self._is_connected = False # Внутреннее состояние
# Стартовая логика: валидация
if port <= 0:
raise ValueError("Port must be a positive number")
# Создание экземпляра
conn = DatabaseConnection("localhost", 5432, "admin")
print(conn.host) # Вывод: localhost
Без __init__ пришлось бы отдельно вызывать метод настройки после создания, что повышает риск ошибок.