Курс Python → Переопределение метода divmod

Python предоставляет возможность переопределения методов для пользовательских объектов, что позволяет расширить стандартный функционал языка. В данном случае, для работы с операторами деления и остатка от деления, можно воспользоваться методом divmod. Переопределение этого метода позволяет объекту вести себя так, будто это стандартная функция divmod(), возвращая результат в виде кортежа.

Для того чтобы переопределить метод divmod для пользовательского объекта, необходимо в классе определить специальный метод __divmod__. Этот метод будет вызываться при использовании оператора divmod для объектов данного класса. Внутри метода необходимо определить логику вычисления частного и остатка от деления и вернуть их в виде кортежа.


class CustomNumber:
    def __init__(self, value):
        self.value = value
    
    def __divmod__(self, other):
        quotient = self.value // other
        remainder = self.value % other
        return (quotient, remainder)

num1 = CustomNumber(10)
num2 = 3
result = divmod(num1, num2)
print(result)  # Выведет (3, 1)

В данном примере создается класс CustomNumber, у которого переопределен метод __divmod__. При вызове функции divmod для объектов данного класса, будет возвращен кортеж с результатом деления и остатком от деления. Таким образом, можно легко работать с операциями деления и остатка от деления для пользовательских объектов в Python.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Concrete Paths — метод .with_suffix()
  2. Декораторы в Python
  3. JMESPath в Python
  4. Применение функции к элементам списка
  5. Метод __getitem__ в Python
  6. Сортировка с помощью key
  7. Профилирование данных с Pandas.
  8. Обратное распространение ошибки
  9. Операции с матрицами в Python
  10. Метод get для словарей
  11. Проблема с изменяемыми аргументами
  12. Атрибуты объекта в Python
  13. Оператор * в Python
  14. Подсчет частоты элементов с Counter
  15. Поиск уникальных и повторяющихся элементов
  16. Python Менеджер контекста
  17. Переименование файлов в Python
  18. Python Метод Union Множеств
  19. Counter() — подсчет элементов
  20. Локальные переменные.
  21. Создание итератора
  22. Сравнение def и lambda функций в Python
  23. Анонимные функции в Python
  24. Работа со временем в Python
  25. Сериализация и десериализация объектов
  26. Очистка данных с помощью pandas
  27. Добавление элементов в список
  28. Проверка индексов коллекции
  29. Библиотека wikipedia для Python
  30. Копирование файлов с shutil()
  31. Применение команды break
  32. Асинхронное выполнение задач в процессах
  33. Разрешение имен в Python
  34. Оператор Walrus в Python 3.8
  35. Метод title() в Python
  36. Переопределение метода __eq__
  37. Форматирование данных с помощью pprint
  38. Установка и использование pyshorteners
  39. Работа с JSON данными в Python
  40. Перевод эмодзи и эмотиконов.
  41. Работа с CSV файлами в Python
  42. Копирование объектов в Python
  43. Функции с дополнением
  44. Хранение переменных в Python.
  45. Подсчет часто встречающихся элементов

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