Встречается на собеседованиях • сегодня
Какие плюсы и минусы магических методов в 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
интервью вопросы и ответы