Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: dunder, method

Какие магические методы классов используются чаще всего и зачем?

Вопрос проверяет понимание объектной модели Python и умение настраивать поведение объектов.

Короткий ответ

Магические методы позволяют объектам вести себя как встроенные типы Python. Они вызываются автоматически интерпретатором. Чаще всего используют методы инициализации, строкового представления и сравнения. Это делает код более читаемым и удобным. Магические методы упрощают интеграцию пользовательских классов.

Длинный ответ

Магические методы — это специальные методы с двойными подчёркиваниями, которые управляют поведением объектов.

Что такое магические методы

Определение:
Магические методы — это методы вида __method__, которые автоматически вызываются интерпретатором Python.

Самые часто используемые методы

Инициализация и создание объекта

  • __init__ — инициализация объекта

  • __new__ — создание объекта (используется редко)

Пример:

class User:
    def __init__(self, name):
        self.name = name

Строковое представление

  • __str__ — человекочитаемый вывод

  • __repr__ — отладочное представление

class User:
    def __str__(self):
        return self.name

Сравнение объектов

  • __eq__

  • __lt__

  • __gt__

def __eq__(self, other):
    return self.id == other.id

Контейнеры и доступ

  • __len__

  • __getitem__

  • __contains__

Зачем они нужны

  1. Делают классы удобными в использовании

  2. Позволяют использовать стандартные операторы

  3. Повышают читаемость кода

Вывод:
Магические методы стоит реализовывать, когда объект должен вести себя как встроенный тип Python.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    5

  • Сложность:

    5

Навыки

  • Python

    Python

Ключевые слова

#dunder

#method

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.