Middle
45
questionbank

Что такое перегрузка операторов в Python?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

Перегрузка операторов — это возможность изменять поведение встроенных операторов Python для объектов пользовательских классов. Она осуществляется путем определения специальных магических (magic) или dunder (double underscore) методов.

Вот некоторые распространенные магические методы для перегрузки операторов:

ОператорМагический методОписание
+__add__(self, other)Сложение
-__sub__(self, other)Вычитание
*__mul__(self, other)Умножение
/__truediv__(self, other)Деление (чистое)
//__floordiv__(self, other)Деление (целочисленное)
%__mod__(self, other)Остаток от деления
**__pow__(self, other)Возведение в степень
==__eq__(self, other)Равенство
!=__ne__(self, other)Неравенство
<__lt__(self, other)Меньше
>__gt__(self, other)Больше
<=__le__(self, other)Меньше или равно
>=__ge__(self, other)Больше или равно
len()__len__(self)Длина
str()__str__(self)Строковое представление (для пользователя)
repr()__repr__(self)Строковое представление (для разработчика)

Пример перегрузки оператора + для класса Vector:

python

Перегрузка операторов делает код более читаемым и интуитивно понятным, позволяя использовать привычные операторы для работы с пользовательскими объектами. Однако злоупотреблять ею не стоит, чтобы не затруднять понимание кода.