__init__ шаг за шагом
__init__ — это метод, который настраивает новый объект при его создании. Его называют конструктором.
Зачем нужен
Когда вы создаёте объект класса, часто нужно сразу задать его начальные данные: имя, баланс, координаты. __init__ выполняется автоматически в момент создания и заполняет эти данные.
class Drone:
def __init__(self, name):
self.name = name
d = Drone('Пинг')
print(d.name) # Пинг
Вызывается сам
Вы не вызываете __init__ вручную — Python делает это, когда вы пишете Drone('Пинг'). Аргументы в скобках попадают в __init__ (кроме self, который Python подставляет сам).
Задаёт атрибуты через self
Внутри __init__ данные сохраняют в self: self.name = name создаёт у объекта атрибут name. Потом к нему обращаются как d.name. Так каждый объект получает свои собственные значения.
Частые вопросы
Обязателен ли __init__? Нет, но почти всегда нужен, чтобы задать начальные данные объекта.
Почему двойные подчёркивания? Так помечают специальные методы Python; __init__ — один из них.
Начать игру бесплатно