Курс 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.
- Генерация UUID в Python
- Вывод сложных структур данных с помощью pprint
- f-строки в формате строк
- Декораторы в Python
- Упрощенный вывод данных в Python
- Обновление ключей в Python
- Структурирование данных с Pydantic
- Использование html-скриптов в Jupyter Notebook
- Многоточие в Python
- Быстрый поиск кода
- Распаковка аргументов в Python
- Обмен данными с asyncio.Queue
- Объединение списков в Python.
- Поиск email
- Функции высшего порядка в Python
- Создание итерируемых объектов
- Создание задания в Cron
- Работа с файлами в Python
- Измерение времени выполнения кода
- Закрытие файла в Python
- Генераторы в Python
- Выход из профиля в Django
- Извлечение чисел из текста
- Функции map, filter и reduce
- Определение размера папок в Python
- Переопределение метода xor в Python
- Участие в сообществе @selectel
- Печать комбинаций в Python с Itertools
- Работа с argparse
- Работа с рекламными данными в Pandas
- Запуск файлового сервера
- Модуль future Python
- Управление памятью в Python
- Генераторные выражения и islice.
- Асинхронное выполнение задач в Python
- Основы работы с os
- Сравнение строк в Python
- Модуль math: константы π и e
- Хеши в Python
- Обработка ошибок в Python
- Создание циклической ссылки
- Переопределение метода
- Преобразование символов с помощью map
- Сравнение def и lambda в Python















