Курс 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. Оператор объединения словарей
  2. Декодирование строк в Python
  3. Разделение строки с помощью re.split()
  4. Проверка типа данных
  5. Таймер обратного отсчета
  6. Проверка на палиндром
  7. Форматирование заголовков в Python
  8. Создание матрицы в Python
  9. Работа со словарями Python
  10. Особенности ключей словаря в Python
  11. Обработка исключений в Python
  12. Передача параметров в Python
  13. EMOT преобразование эмодзи в текст
  14. Преобразование объекта в строку
  15. Оператор += для объединения строк
  16. Функции в Python: создание и вызов
  17. Применение функции к каждому элементу списка
  18. Конкатенация строк с помощью join()
  19. Генераторы данных
  20. Безопасные SQL-запросы в Python 3.11
  21. Метод rpow в Python
  22. Оптимизация гиперпараметров в Python
  23. Работа с комплексными числами
  24. Обработка ошибок в Python
  25. Создание графики с черепахой
  26. Символ подчеркивания в Python
  27. Функция product() в Python
  28. Модуль antigravity: генерация координат
  29. Работа с утверждениями в Python
  30. Кортеж в Python: создание, доступ, изменение
  31. Философия Python
  32. Работа со строками
  33. Метод eq для сравнения объектов
  34. Работа с контекстными переменными
  35. Установка и использование TensorFlow
  36. Срезы в Python
  37. Проверка подстроки в строке с помощью in
  38. Удаление элементов по срезу
  39. Аннотации типов в Python
  40. Генерация случайных чисел в Python
  41. Создание словаря в Python
  42. Обработка исключений в Python
  43. Работа со стеком в Python
  44. Оператор is в Python
  45. Генераторы списков в Python
  46. Оператор space-invader
  47. Регулярные выражения в Python

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