Какие знаешь магические методы
Python
Middle
Без компании
Какие знаешь магические методы
Ответы
В Python магические методы (dunder) — это методы с двойным подчёркиванием до и после имени, которые позволяют переопределять поведение объектов. Основные группы:
- **Инициализация и удаление**
- `__init__` – конструктор
- `__del__` – деструктор
- **Строковое представление**
- `__str__` – str(obj)
- `__repr__` – repr(obj)
- **Сравнение**
- `__eq__`, `__lt__`, `__gt__` и др.
- **Контейнеры**
- `__len__` – len(obj)
- `__getitem__`, `__setitem__` – доступ по индексу
- **Арифметика**
- `__add__`, `__sub__` и др.
Пример:
```
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 __repr__(self):
return f"Vector({self.x}, {self.y})"
```