Курс 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
- Управление фоновыми задачами в Python
- Структура данных словарь в Python
- Обработка ошибок в Python
- Модуль antigravity: генерация координат
- Список переменных с %who
- Установка и использование Python-dateutil
- Оператор += в Python
- TypedDict для kwargs в Python 3.12
- Показ всплывающих окон Tkinter
- Оператор Walrus в Python 3.8
- Взаимодействие с внешними процессами в Python
- Генерация случайных чисел Python
- Библиотека sh: использование команд bash в Python
- Оценка точности модели
- Игра «Виселица» на Python
- Выражения-генераторы в Python
- Визуализация пропусков данных
- Работа с файлами в Python
- Метод get для словарей
- Функции map() и reduce() в Python
- Фильтрация входных данных в Python
- Анализ кода — Python
- Переворот списка в Python
- Lambda Functions in Python
- Работа с Enum в Python3.
- Оператор морж в Python 3.8
- Использование метода lower()
- Инверсия списков и строк в Python
- Преобразование Excel в PDF с Spire.XLS
- Транспонирование 2D-массива с помощью zip
- Оператор space-invader
- Экспорт данных с помощью writefile
- Удаление ключа из словаря
- Генераторы в Python
- Генератор бросков кубиков
- Управление мышью и клавиатурой с Pyautogui
- Автоматизация скриптов на AWS Lightsail.
- Открытие и редактирование скриптов Python
- Отправка HTTP-запросов в Python
- Распаковка элементов массива
- Оператор распаковки в Python
- Установка и использование howdoi
- Печать месячного календаря
- Ограничение итераций в Python
- Итерация по итерируемым объектам















