Дрон Кодер — программирование для детей и взрослых в игровой форме. Начать бесплатно

Магические методы для новичка

Магические методы — специальные методы с двойными подчёркиваниями, которые Python вызывает автоматически в нужный момент.

Что это такое

Их называют «дандер» (double underscore) методами: __init__, __str__, __len__ и другие. Вы обычно не вызываете их напрямую — Python сам обращается к ним, когда вы создаёте объект, печатаете его или берёте длину.

Полезные примеры

__init__ настраивает объект при создании. __str__ задаёт, как объект выглядит при print. __len__ определяет, что вернёт len(объект). Определив их, вы делаете свои объекты удобными и «родными» для Python.

class Team:
    def __init__(self, players):
        self.players = players
    def __len__(self):
        return len(self.players)

print(len(Team(['Аня', 'Ваня'])))   # 2

Когда нужны новичку

На старте достаточно __init__. По мере роста пригодятся __str__ (красивый вывод) и другие. Не нужно учить все сразу — узнавайте по мере необходимости, а пока просто понимайте: двойные подчёркивания = специальный метод Python.

Частые вопросы

Надо ли вызывать их вручную? Обычно нет — Python вызывает их сам в нужный момент.

Сколько их всего? Много, но новичку хватает нескольких — начните с __init__ и __str__.

Начать игру бесплатно
Попробуй прямо здесь
Уровень 1

Задание