Курс 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
- Передача словаря через **kwargs
- Создание новых списков через list comprehensions
- Декораторы в Python
- Тест скорости набора текста на Python
- Создание директории в Python
- Хранение переменных в словаре.
- Подсказки при вводе данных в Python
- Замена атрибута в именованном кортеже
- Работа со строками в Python.
- Monkey Patching в Python
- Генераторы в Python
- Локальные переменные.
- Использование модуля math
- OrderedDict — упорядоченный словарь
- Подсчет частотности элементов в Python
- Функции в одну строку
- Итераторы в Python
- Функции в Python: создание и вызов
- Переименование файлов в Python
- Преобразование генераторов в циклы
- Методы и функции в Python
- Принципы LSP и ISP в Python
- Создание уникального множества
- Создание списка через итерацию
- Метод округления чисел
- Оптимизация методов в Python 3.7
- Работа с датами в Python
- Удаление специальных символов с помощью re.sub
- Ветвление выражения в Python
- Математические функции в Python
- Сложные типы данных в Python
- Анализ текста на русском языке с помощью Pymystem3
- Работа с Telegram API на Python
- Создание тестовых данных с Faker
- Явный импорт переменных
- Удаление элемента из списка
- Команда %dhist — список посещенных каталогов
- Транспонирование 2D-массива с помощью zip
- Создание файла с проверкой ошибки
- Применение команды break
- Сериализация данных в JSON с помощью json.dumps
- Работа с рекламными данными в Pandas
- Декодирование байтов в строку
- Декораторы с аргументами в Python
- Область видимости переменных















