Магические методы для новичка
Магические методы — специальные методы с двойными подчёркиваниями, которые 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__.
Начать игру бесплатно