Курс 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"
- Передача словаря через **kwargs
- Декоратор для группы пользователей в Django
- Работа с итераторами через срезы
- Вывод с переменной через запятую
- Defaultdict в Python
- Сокращение ссылок с pyshorteners
- Подсчет часто встречающихся элементов
- Сериализация объектов в Python
- Python: изменяемые и неизменяемые коллекции
- Сортировка элементов с OrderedDict
- Генерация ключей RSA
- Замеры производительности в Python
- Декораторы в Python
- Манипуляция формой массива в Numpy
- Создание GUI на Tkinter
- Хранение данных с помощью dataclasses
- Округление банкира в Python
- Поиск наиболее частого элемента списке
- Декоратор Property в Python
- Срезы в Numpy
- Срезы в Python
- Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
- Хеширование паролей с солью
- TON Smart Challenge #2: участие и подготовка
- Нахождение отличий в списках
- Поиск HTML-элементов с BeautifulSoup
- Нахождение пересечения множеств
- Вычисление натурального логарифма в NumPy
- Игра Виселица на Python
- Параллельные вычисления в Python
- Циклы в Python
- Новшества Flask 2.0
- Определение функций с необязательными аргументами
- Работа с IP-адресами в Python
- Оценка точности модели
- IPython и Jupyter Notebook: руководство
- Работа с географическими данными в Python
- Протокол управления контекстом
- Реализация операции -= для пользовательского класса
- Декораторы в Python
- Создание словарей в Python
- Создание детектора плагиата
- Переменные в Python: сокращение гласных
- Конвертация изображений в PDF
- Итераторы в Python
- UserList в Python: Описание и примеры использования















