Курс Python → Переопределение оператора % для объектов
Python предоставляет возможность переопределить стандартные арифметические операторы для пользовательских объектов. Например, если вы работаете с комплексными числами или другими типами данных, где операция остатка от деления имеет смысл, то переопределение метода __mod__ может быть очень полезным.
Для того чтобы объект поддерживал стандартную математическую операцию остатка от деления, необходимо определить метод __mod__ в классе этого объекта. Этот метод должен принимать два аргумента — self и other, где self представляет сам объект, а other — объект, с которым выполняется операция.
class MyNumber:
def __init__(self, value):
self.value = value
def __mod__(self, other):
return self.value % other.value
num1 = MyNumber(10)
num2 = MyNumber(3)
print(num1 % num2) # Выведет 1
В приведенном примере мы создали класс MyNumber, который содержит атрибут value и переопределили метод __mod__, чтобы объекты этого класса могли поддерживать операцию остатка от деления. При вызове num1 % num2 будет возвращено остаток от деления числа 10 на 3, то есть 1.
Таким образом, переопределение метода __mod__ позволяет объекту в Python поддерживать стандартную математическую операцию остатка от деления и использоваться в выражениях с этим оператором.
Другие уроки курса "Python"
- Метод getitem для доступа к элементам последовательности
- Создание списков в Python
- Утечки переменных цикла в Python 3.x
- Работа с контекстными менеджерами
- Реверс строки в Python
- Пространство имен в Python
- Python: цикл for и оператор присваивания
- Преобразование текста в речь с Python
- Генераторы в Python
- Python Аргументы по умолчанию
- Преобразование строки в число
- GitHub в Telegram: подписка на уведомления
- Исправление ошибки NameError
- Удаление символа из строки
- Расчет времени выполнения программы
- Сортировка в Python
- Отрицательные индексы списков
- Преобразование текста в нижний регистр
- Вычисление логарифмов в Python
- Очистка списка от False, None, 0, «»
- Метод ne для сравнения объектов
- Оператор «or» в Python
- Enum в Python
- Работа со слайсами
- Уникальные значения из списка
- Условное добавление элементов в список
- Фильтрация элементов с помощью islice
- Установка и загрузка Instaloader
- Магические методы в Python
- Отправка POST-запроса в REST API
- Настройка логгера Logzero
- Декораторы в Python
- Метод rename() для переименования файлов и каталогов
- Создание множества в Python
- Метод enumerate() в Python
- Экспорт внешнего файла с помощью writefile
- Печать календаря в Python
- Измерение потребления памяти при сортировке
- Замена символов в Python
- Поиск частых элементов в списке
- Переменная Шредингера
- Сортировка с помощью параметра key
- Основы Python за 14 дней
- Проверка подстроки в строке с помощью in
- Подсказки типов в Python
- Генерация QR-кодов с Python















