Курс 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. Вызов внешних программ в Python с помощью sh
  4. Измерение времени выполнения кода
  5. Python: Splat-оператор и splatty-splat
  6. Регулярные выражения: метод match
  7. Создание функций с произвольным количеством аргументов
  8. Сортировка данных с лямбда-функциями
  9. Переопределение метода __or__()
  10. Переопределение метода __rshift__
  11. Работа с YAML в Python
  12. Открытие, чтение и закрытие файла
  13. Повторение элементов в Python
  14. Получение пути к текущему скрипту с помощью os
  15. Генераторы данных
  16. Умножение строк и списков
  17. Принципы программирования
  18. Concrete Paths в Python
  19. Добавление элементов в список
  20. Удаление элемента из списка в Python
  21. Подсчет элементов в Python
  22. Создание новых списков в Python
  23. Итерация по итерируемым объектам
  24. Переопределение метода len
  25. Операции с числами в Python
  26. Различия символов в Python
  27. Получение текущей даты и времени
  28. Использование обратной косой черты в f-строках
  29. Сортировка и разворот списка
  30. Работа с файловой системой в Python
  31. Удаление пробелов методом translate()
  32. Функции range() в Python
  33. Применение функций в Python
  34. Принципы программирования
  35. Конкатенация списков в Python
  36. Проверка версии Python
  37. Создание пустых функций и классов в Python
  38. Замена символов в строке
  39. Поиск всех индексов подстроки
  40. Подсчет частотности элементов в Python
  41. Сравнение объектов в Python
  42. Статическая типизация в Python
  43. Использование функции product
  44. Определение размера папок в Python
  45. Атрибуты класса и экземпляра
  46. Defaultdict в Python

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