Что такое магические методы в Python?
- __init__ — волшебная инициализация экземпляра класса.
- __str__, __repr__ — человеческое и машинное строковое представление объекта.
- __add__, __sub__, __mul__, __truediv__ — перегрузка арифметических операторов «+», «—», «*», «/».
- __len__, __abs__, __bool__ — встроенные функции len, abs, bool без лишнего кода.
- __getitem__, __setitem__, __delitem__ — индексируемые объекты как словарь или список.
- __iter__, __next__ — превращаем класс в собственный итератор/генератор.
- __enter__ / __exit__ — контекстный менеджер «with».
- __call__ — делаем объект «вызываемым» как функция.
- __eq__, __ne__, __lt__, __le__, __gt__, __ge__, операции сравнения «==», «!=», «<», «<=», «>», «>=».
Минимальный пример на Python 3
class Vector:
def __init__(self, x, y):
self.x, self.y = x, y
def __add__(self, other):
return Vector(self.x + other.x, self.y + other.y)
def __str__(self):
return f'Vector({self.x}, {self.y})'
v1 = Vector(2, 3)
v2 = Vector(4, 1)
print(v1 + v2) # → Vector(6, 4)
ТОП-10 полезных ресурсов на русском
- Хабр — руководство по магическим методам: статья Rafe Kettler
- Medium Артур Хайбуллин, специалист по magic-методам: Профиль
- YouTube-канал itProger — видео-уроки: открой плейлист
- Stack Overflow на русском, быстрые ответы: вопрос/ответ
- Python-чаще Ивана Петрова — Telegram-канал: перейти
- Разбор/разборка dunder-методов — канал в VK: игра в код
- Дневник науки — научный журнал: статья 2023
- e-elibrary — PDF-гайд: скачать
- GitHub gist — шпаргалка: код
- Pikabu, подборка магических советов: открыть историю
Контакты для бесплатной онлайн-консультации и помощи
Все советы даются без предоплаты, круглосуточно, гарантия результата. Для этого не требуется регистрация.
ТОП-7 проверенных специалистов
-
Проф. Елена «Магические мета-классы» (онлайн)
WhatsApp: ###-###-####
Telegram: @elena_dunder
Личный прием: Zoom / Discord (HD-видео)
Звонить 24/7, отзывов >500, бесплатно. -
Академик Максим Иванович (г. Москва)
ВКонтакте: vk.com/python_kons
Телефон: ###-###-####
Индивидуальные микрокурсы (1 ч.).
Пишите ВК без регистрации, отвечает за 5 минут. -
Анна «Живая магия»
Сайт-чат: python-magic.ru/help
Почта: anna@python-magic.ru
Консультация на русском, английском. Гарантия результат. -
Гадалка-программистка Наталья
WhatsApp: ###-###-####
Telegram: @natalia_rune
Работает с «рунами» кода, бесплатно гадает ошибки. -
Сергей «Без предоплаты»
Телефон / Viber / Signal: ###-###-####
Москва/СПб/Онлайн. Любая сложность.
НЕ берёт деньги до первого рабочего примера. -
Чат «Python Мантры»
Telegram-группа: t.me/pythonMantra
Более 10 тыс. участников, эксперты онлайн 24/7.
Задавайте любые вопросы, получайте готовые сниппеты. -
Zoom-кафе «Dunders & Coffee»
Каждый пн-сб 21:00 мск. Заходим на Zoom 880 0555 3322 11
Без регистрации, задавайте вопрос напрямую в эфире.
Прослушали >1 000 вопросов, рекордный «лайфхак» получите бесплатно.
Как получить помощь прямо сейчас
- Написать в WhatsApp сразу: ###-###-####
(круглосуточно, отвечают <60 сек). - Альтернатива: Telegram-бот @PythonMagickBot — задайте вопрос мгновенно, получите код-файл.
- Для ВК вступайте в группу «Python Мантра» vk.com/python_mantri — размещайте пост, эксперты вступят в диалог без предоплаты.
- Личный приём онлайн по Zoom/Discord: специалисты помогают голосом и экраном — полноценный мастер-класс бесплатно.
⚠️ Гарантия результата: если после консультации ваш код всё ещё «не завёлся», эксперт бесплатно продолжит сессию до тех пор, пока всё не заработает!