Курс 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"
- Построение графиков в терминале с bashplotlib
- Python: библиотеки и функции
- Оптимизация сравнения в Python
- Функции классификации комплексных чисел
- Игра Виселица на Python
- Аннотации типов в Python
- Перегрузка операторов в Python
- Работа с CSV в Python
- Значения по умолчанию в Python
- Numpy: использование Ellipsis
- Mad Libs Generator
- Замена переменных в Python
- Работа с часовыми поясами в Python
- Переворот строки с помощью срезов
- Генерация UUID в Python
- Склеивание строк без циклов
- Удаление URL-адресов в Python
- Магические методы в Python
- Отслеживание выполнения программы с библиотекой tqdm
- Concrete Paths в Python
- Улучшенные подсказки для импорта в Python 3.12
- Метод splitlines() для разделения строк
- Оператор «not» в Python
- Операторы Splat и splatty-splat
- Создание и использование ChainMap
- UserList в Python: Описание и примеры использования
- Установка переменной среды в Python
- Объединение словарей в Python
- Мощь вложенных функций в Python
- Обратное распространение ошибки
- Таймер обратного отсчета
- Генерация UUID в Python
- Работа с библиотекой xkcd
- Обработка ошибок ввода данных
- Печать календаря
- Комплексные числа в Python
- Копирование объектов в Python
- Основные функции и модули Python
- Поиск простых чисел
- Работа с файлами в Python
- Получение значений из словарей
- F-строки в Python
- Метод __float__ в Python
- Получение текущей даты и времени
- Генераторы в Python















