Курс 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"
- Обработка исключений с блоком else
- Округление банкира в Python
- Хешируемые ключи в Python
- Создание детектора плагиата
- Возвращение нескольких значений через кортеж или класс
- Работа с NumPy
- Фильтрация элементов с помощью islice
- Дизассемблирование Python кода
- Big O оптимизация
- Работа с файлами в Python
- Метод join() для объединения элементов
- Получение ID текущего процесса
- Работа с argparse
- Метод split() в Python
- Перетасовка списков в Python
- Работа с модулем Calendar
- Аннотации типов в Python
- Определение локальных переменных в Python
- Курс Data Scientist в медицине
- Работа с zip-архивами в Python
- Манипуляция формой массива в Numpy
- Поиск анаграмм с Counter
- Объединение множеств в Python
- GitHub в Telegram: подписка на уведомления
- Оператор continue в Python
- Функция reduce() в Python
- Метод __complex__ в Python
- Оператор in для проверки наличия элемента
- Преобразование в float
- Хэш-функции в Python
- Срезы в Python
- Разделение строк в Python
- Mad Libs Generator
- Отправка POST-запроса в REST API
- Retrying в Python: повторные вызовы
- Преобразование регистра символов
- Получение ID процесса
- Декораторы в Python
- Переворот списка в Python
- Работа с IP-адресами в Python
- Combobox в Tkinter
- Оператор Walrus: правильное использование
- Именованные срезы в Python















