Курс 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
- Метод __iand__ для пользовательских классов
- Получение частей дроби
- Освобождение памяти в Python
- Генераторы в Python
- Глобальные переменные в Python
- Создание новых списков через list comprehensions
- Изменения в обработке логических значений
- Копирование объектов в Python
- Запуск файлового сервера
- Работа с кортежами в Python
- Лямбда-функции в цикле
- Функции map, filter, reduce
- Оптимизация сравнения в Python
- Передача словаря через **kwargs
- Перевод двоичного кода в целое число
- Работа с областями видимости переменных
- Функции any() и all() в Python
- Уникальные значения из списка
- Цикл for в Python
- Логирование с Logzero
- Быстрый поиск кода
- Monkey Patching в Python
- Преобразование многоуровневого словаря
- Контроль точности вывода чисел
- Удаление специальных символов с помощью re.sub
- Бинарный поиск
- Статическая типизация в Python
- Форматирование чисел в Python
- GitHub в Telegram: подписка на уведомления
- %pinfo: получение информации об объекте
- Ускорение выполнения кода в Python
- Переворот строки с использованием цикла
- Генераторы в Python
- Работа с файлами в Python
- Профилирование с Pandas
- Управление импортом в Python
- Создание списков в Python
- Обработка данных в Python
- Глобальные переменные в Python
- Управление доступом к модулю
- Метод count в Python: почему count(», ») возвращает 4?
- Закрытие файла в Python
- Создание тестовых данных с Faker















