Курс 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
- Модуль itertools: комбинации и перестановки
- Проверка типа объекта в Python
- Python Метод del.
- Проверка файла .py на синтаксис.
- Тип данных TypeVarTuple
- Генераторные выражения и islice.
- Игра Виселица на Python
- Сортировка и обратный порядок
- Combobox в Tkinter
- Создание таблиц в Python с PrettyTable
- Поиск частых элементов в списке
- Переменная с нижним подчеркиванием
- Порядок и длина множеств в Python
- Работа с областями видимости переменных
- Измерение времени выполнения кода
- Встраивание HTML в Jupyter Notebook
- Отслеживание выполнения программы с библиотекой tqdm
- Удаление файлов и папок в Python
- Запуск внешних программ с subprocess
- Пропуск начальных строк с помощью dropwhile()
- Python enumerate() функции
- Использование обратной косой черты в f-строках
- Поток данных в Python
- Генераторы списков в Python
- Аннотации типов в Python
- Отладка кода
- Форматирование строк в Python
- Область видимости переменных
- Декораторы в Python
- Метод join() для объединения элементов
- Поиск с библиотекой Google
- Использование defaultdict в Python
- Colorama: окрашивание текста в Python
- Работа с deque из collections
- Сортировка слиянием
- Навыки Python: строки, типы данных
- Удаление дубликатов с помощью множеств
- Определение индекса элемента списка
- Конвертация изображений в PDF
- Преобразование данных в Python
- Списковый компрехеншен.
- Преобразование многоуровневого словаря
- Перегрузка операторов в Python
- Метод __irshift__ для побитового сдвига вправо
- Присвоение значений переменным в Python
- Сложные типы данных в Python















