Курс 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"

  1. Импорт объектов из модулей
  2. Python: динамическая типизация и проверка типов
  3. Библиотека funcy: удобные утилиты
  4. Список и кортеж в Python
  5. Python Поверхностное Копирование
  6. Установка User-Agent в Python
  7. Объединение словарей в Python
  8. Форматирование заголовков в Python
  9. Python: отсутствие точек с запятыми
  10. Применение функции к каждому элементу списка
  11. Применение промокода в Много лосося
  12. Генератор надежных паролей
  13. Работа со строками в Python
  14. Класс-оболочка для словарей
  15. Retrying в Python: повторные вызовы
  16. Docstring в Python
  17. Импорт модулей и пакетов в Python
  18. Фильтрация списка чисел
  19. Создание Telegram-бота на Python
  20. Работа с файлами и директориями в Python.
  21. Преобразование кортежа в словарь.
  22. Форматирование строк в Python
  23. Применение функции map() в Python
  24. Хранение переменных в словаре.
  25. Получение текущего времени в Python
  26. Метод join() для объединения элементов строки
  27. Избегайте пустого списка
  28. Обмен переменными в Jupyter
  29. Асинхронное программирование с asyncio
  30. Преобразование текста в речь с Python
  31. Импортирование в Python
  32. Сортировка элементов в Python
  33. Гибкие функции Python
  34. Работа со строками в Python
  35. Codecademy в Telegram
  36. Цикл for с enumerate() в Python
  37. Установка и использование Telegram API в Python
  38. Получение ID текущего процесса
  39. Проблемы с именами переменных
  40. Использование html-скриптов в Jupyter Notebook
  41. Открытие и редактирование скриптов Python
  42. Транспонирование матрицы
  43. Лямбда-функции в Python
  44. Список методов и атрибутов
  45. Удаление символов новой строки в Python.
  46. Установка Python — Простое руководство
  47. Генераторные функции в Python

Marketello читают маркетологи из крутых компаний