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

Какие знаешь магические методы в Python

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

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

  • __init__ — конструктор, вызывается при создании объекта.
  • __str__ — возвращает строковое представление объекта (print(obj)).
  • __repr__ — формальное строковое представление (для отладки).
  • __len__ — определяет поведение len(obj).
  • __getitem__, __setitem__ — доступ по индексу/ключу (obj[key]).
  • __call__ — позволяет вызывать объект как функцию (obj()).
  • __add__, __sub__ — перегрузка операторов (+, -).

Пример:

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
интервью вопросы и ответы