Встречается на собеседованиях • сегодня

Как работают магические методы

Магические методы (dunder - double underscore) в Python позволяют переопределять поведение объектов при выполнении стандартных операций. Они вызываются автоматически в определенных контекстах.

Основные группы магических методов:

  • Инициализация: __init__, __new__
  • Строковое представление: __str__, __repr__
  • Арифметические операции: __add__, __sub__ и др.
  • Индексация и срезы: __getitem__, __setitem__
  • Вызов объекта: __call__
  • Менеджеры контекста: __enter__, __exit__

Пример:

python
class Vector:
    def __init__(self, x, y):
        self.x = x
        self.y = 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(1, 2)
v2 = Vector(3, 4)
print(v1 + v2)  # Vector(4, 6)

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

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы