Курс 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"
- Разделение строки на пары ключ-значение.
- Проверка строки на палиндром
- Enum в Python
- Разделение строки с помощью re.split()
- Комментарии в Python
- Определение имен функций
- Профилирование кода
- Создание панели меню Tkinter
- Работа с массивами в Python
- Капитализация строк
- Скрытие вывода данных
- Асинхронное выполнение задач в Python
- Работа с WindowsPath()
- Преобразование range в итератор
- Разделение строк в Python
- Генераторы и сеты в Python
- Отношения подклассов в Python
- Работа с JSON в Python
- Создание класса в Python
- Ограничение ресурсов в Python
- Просмотр внешнего файла в Python
- Разделение строк в Python
- Округление в Python
- Возврат нескольких значений из функции
- Фильтрация входных данных в Python
- Моржовый оператор в Python 3.8
- PrettyTable: создание таблицы
- Создание словаря в Python
- Возведение в квадрат с помощью itertools
- Преобразование строк в числа с плавающей запятой
- Работа с zip()
- Обрезка изображения с Pillow
- Создание класса очереди
- Переопределение метода delitem в Python
- Пропуск начальных строк с помощью dropwhile()
- Поиск наиболее частого элемента списке
- Присвоение и ссылки
- Извлечение новостей с помощью newspaper3k
- Вызов функций по строке в Python.
- Переворот списка в Python
- Создание вкладок с TKinter
- Ускорение обработки данных с %autoawait
- Методы обработки строк в Python
- Переворот списка в Python
- Создание объекта времени
- Транспонирование 2D-массива с помощью zip
- Библиотека sh: удобные команды терминала















