Курс 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"
- Поиск всех индексов подстроки
- Инверсия списка/строки в Python
- None в Python: использование и особенности
- Логирование с Logzero
- Метод init в Python
- Структуры данных в Python
- Объединение словарей в Python
- Иерархия классов в Python
- Метод join() для объединения элементов в строку.
- Переворот строки с помощью срезов
- Модуль subprocess: запуск внешних команд
- Удаление дубликатов с помощью множеств
- Потоковый ввод в Python
- Форматирование объектов с модулем pprint
- Взаимодействие с внешними процессами в Python
- Подписка на @SelectelNews
- Названия переменных
- Имена объектов в Python
- Экспорт данных с помощью writefile
- Работа с кортежами в Python
- Создание функций с произвольным количеством аргументов
- Вычисление натурального логарифма в NumPy
- Работа с deque из collections
- Проверка однородности элементов списка
- Создание уникального множества
- Справка по импортированным модулям
- Удаление элемента из списка
- Выражения-генераторы в Python
- Использование функции enumerate()
- Функция zip() в Python
- PUT запрос для обновления данных
- Итерация по коллекции в Python
- Удаление первого элемента списка
- Удаление символов новой строки в Python.
- Объединение словарей в Python
- Многострочные комментарии в Python
- Сортировка в Python
- Принципы SRP и OCP
- Обучение модели с указанием эпох
- Работа с контекстными менеджерами
- Использование type hints
- Сравнение строк в Python
- Работа с эмодзи в Python
- Удаление элемента по индексу в Python
- Поиск самого длинного слова в списке с использованием max()
- Проверка версии Python















