Ответ
Инициализация класса в Python — это процесс подготовки нового экземпляра класса после его создания. Она выполняется с помощью специального метода __init__
, который автоматически вызывается при создании объекта.
Назначение __init__
:
Метод __init__
используется для установки начальных значений атрибутов объекта и выполнения любой другой логики, необходимой для приведения объекта в корректное начальное состояние. Это гарантирует, что каждый новый экземпляр класса будет готов к использованию сразу после создания.
Пример:
class Person:
def __init__(self, name: str, age: int):
self.name = name
self.age = age
# Создание экземпляра класса Person вызывает __init__
person = Person("Alice", 30)
print(f"Имя: {person.name}, Возраст: {person.age}") # Вывод: Имя: Alice, Возраст: 30
Ключевые моменты:
- Не конструктор:
__init__
— это инициализатор, а не конструктор в строгом смысле (конструктор — это__new__
, который создает сам объект). - Первый аргумент
self
: Всегда ссылается на создаваемый экземпляр класса и должен быть первым параметром метода. - Параметры по умолчанию: Можно задавать значения по умолчанию для аргументов (
def __init__(self, name="Unknown"):
). - Сложная логика: В
__init__
можно включать валидацию входных данных, вычисления или вызовы других методов для настройки объекта.