Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад

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

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

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

Магические методы (dunder methods) — это специальные методы в Python, имена которых начинаются и заканчиваются двумя символами подчёркивания (например, __init__, __str__). Они позволяют определять, как объект реагирует на стандартные операции, такие как арифметика или сравнение, и управлять его поведением.

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

Магические методы дают возможность изменять поведение встроенных операций для пользовательских объектов. Например:

- __init__: Конструктор класса.

- __str__: Возвращает строковое представление объекта.

- __add__: Определяет сложение объектов.

- __len__: Определяет длину объекта.

 

Пример:

class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def __add__(self, other):
        return Point(self.x + other.x, self.y + other.y)

    def __str__(self):
        return f"Point({self.x}, {self.y})"

p1 = Point(1, 2)
p2 = Point(3, 4)
print(p1 + p2)  # Point(4, 6)
print(str(p1))  # Point(1, 2)

Магические методы упрощают работу с объектами, делая их похожими на встроенные типы данных.

  • Аватар

    Python Guru

    Sergey Filichkin

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

Уровень

  • Рейтинг:

    3

  • Сложность:

    6

Навыки

  • Python

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

#oop

#magic methods

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

  • Аватар

    Python Guru

    Sergey Filichkin

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