Курс 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 3.12
- Изменение списка срезами
- Иерархия классов в Python
- Выражения-генераторы в Python
- Python union() функция — объединение множеств
- Виртуальное окружение Python
- Функции в одну строку
- Получение атрибутов и методов класса
- Метод rrshift для пользовательских объектов
- Функции-генераторы в Python
- Работа с множествами в Python
- Преобразование списков в словарь
- Создание файла с проверкой ошибки
- Функция rsplit() в Python
- Порядок операций в Python
- Python enumerate() функции
- Переопределение метода
- Удаление дубликатов из списка
- Возврат нескольких значений
- Сортировка в Python
- Конкатенация строковых литералов
- Руководство по Pymorphy2
- Запрос DELETE с библиотекой requests
- Модуль itertools: комбинации и перестановки
- Обезопасьте ввод данных
- Декораторы классов
- Обработка исключений в Python
- Лямбда-функции для min/max
- Обработка исключений
- Многопоточность и асинхронное программирование в Python
- Установка виртуального окружения Python
- Преобразование списка в словарь через генератор
- Генераторы списков в Python
- Определение имен функций
- Обратный список чисел
- Замена символов в Python
- Функция enumerate в Python
- Аннотации типов в Python
- Применение функции к элементам списка
- Динамические маршруты во Flask
- Метод splitlines() для разделения строк
- История Python
- Метод gt в Python
- Конкатенация строк с помощью join()
- Функция reduce() из модуля functools















