Встречается на 1% собеседований по Python
Какие плюсы и минусы магических методов в Python
Магические методы (dunder methods) — это методы с двойным подчёркиванием, которые позволяют переопределять поведение объектов.
Плюсы:
- Позволяют создавать интуитивно понятные интерфейсы (
__str__,__repr__). - Дают контроль над операторами (
__add__,__eq__). - Упрощают интеграцию с Python-экосистемой (
__iter__,__getitem__). - Позволяют эмулировать встроенные типы (
__len__,__bool__).
Минусы:
- Могут усложнить код, если злоупотреблять.
- Некоторые методы (
__new__,__slots__) требуют осторожности. - Неочевидное поведение при неправильной реализации.
Пример:
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)
v1 = Vector(1, 2)
v2 = Vector(3, 4)
v3 = v1 + v2 # Без __add__ это вызвало бы ошибку
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы