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

Python Middle Без компании
Как работают магические методы
Ответы
Магические методы (dunder - double underscore) в Python позволяют переопределять поведение объектов при выполнении стандартных операций. Они вызываются автоматически в определенных контекстах. Основные группы магических методов: - Инициализация: `__init__`, `__new__` - Строковое представление: `__str__`, `__repr__` - Арифметические операции: `__add__`, `__sub__` и др. - Индексация и срезы: `__getitem__`, `__setitem__` - Вызов объекта: `__call__` - Менеджеры контекста: `__enter__`, `__exit__` Пример: ``` 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) ``` Магические методы делают код более интуитивным и позволяют объектам вести себя как встроенные типы.