Курс 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"
- Работа с областями видимости переменных
- lru_cache оптимизация функций
- Класс Counter() для подсчета элементов
- Объявление переменных в Python
- Непрерывная проверка в Python
- Метод округления чисел
- Обработка исключений в Python 3
- Основы работы с os
- Конкатенация строк в Python
- Перевод эмодзи и эмотиконов.
- Объединение объектов в Python
- Хеширование паролей с солью
- Итераторы с потерямиZIP
- Работа с Event() в threading
- Операции со строками в Python
- Библиотека Rich: форматирование текста
- capitalize() — изменение регистра первого символа строки
- Работа с deque в Python
- Работа с модулем os в Python
- Многоточие в Python
- Создание таблиц в Python с PrettyTable
- Создание списка через итерацию
- Работа с CSV в Python
- Генераторы и сеты в Python
- Функции с дополнением
- Работа со строками в Python
- Синтаксис переменных цикла в Python
- Итераторы в Python
- Создание коллекций из выражения-генератора
- Замена текста в Python
- Оператор обр. импликации
- Инверсия списка/строки в Python
- Частичное совпадение пользовательского ввода в Python 3.10
- Экспорт данных с помощью writefile
- Удаление ключа из словаря в Python
- Ускоренный импорт библиотек
- split() — разделение строки
- Официальный канал Python в Telegram
- Удаление falsy-значений из списка с помощью filter
- Шаблоны Flask: условия и циклы
- Методы __repr__ и __str__ в Python
- Оценка выражений генератора в Python
- Список методов и атрибутов
- Создание и удаление объектов
- Печать комбинаций в Python с Itertools















