Курс 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
- Объединение списков в строку
- Декоратор Property в Python
- Преобразование данных в Python
- Удаление элементов из списка в Python
- Особенности ключей словаря в Python
- Выход из профиля в Django
- Склеивание строк через метод join()
- Python и Монти Пайтон
- Основы работы со строками в Python
- Прокачанный трейсинг ошибок
- Оптимизация создания строк
- Методы и функции в Python
- Объединение словарей в Python
- Метод rename() для переименования файлов и каталогов
- Сравнение def и lambda функций в Python
- Явный импорт переменных
- Дизассемблирование Python кода
- Лямбда-функции в Python
- Работа с контекст-менеджером «with»
- Измерение времени выполнения кода
- Переопределение метода __rshift__
- Бинарный поиск
- Удаление элемента из списка в Python
- Измерение времени выполнения кода
- Numpy: разбиение массивов
- Исключение NotImplementedError
- Переопределение метода __or__()
- Вакансии в Nebius
- Управление сессиями в Python
- Считывание бинарного файла в Python
- Проверка памяти объекта
- Логирование с Logzero
- Python Enum Weekday Usage
- Применение промокода в Много лосося
- Поиск уникальных и повторяющихся элементов
- Создание словарей и множеств в Python
- Конвертация коллекций в Python
- Пространство имен в Python
- Исправление ошибки NameError
- Декоратор Ajax required
- Библиотека Rich: форматирование текста
- Docstring в Python
- Работа с массивами в Numpy
- Тестирование с unittest















