Курс Python → Делегирование в Python
Делегирование в Python — это механизм, позволяющий объекту передавать выполнение определенных задач другим объектам. В приведенном примере мы имеем класс, который описывает поведение файла и умеет преобразовывать данные из нижнего регистра в верхний. Для этого класса определен метод write(), который конвертирует строку из нижнего в верхний регистр перед вызовом другого метода. Однако сама операция делегирования осуществляется через объект self._out.
Давайте рассмотрим более подробно пример кода:
class Upcase:
def __init__(self, out):
self._out = out
def write(self, data):
self._out.write(data.upper())
В данном примере класс Upcase принимает объект out в качестве параметра при инициализации. Метод write() этого класса принимает данные в виде строки и передает их объекту out, преобразуя перед этим строку в верхний регистр с помощью метода upper().
Таким образом, делегирование в данном контексте позволяет объекту класса Upcase использовать функциональность объекта out для выполнения определенных задач, при этом сам объект Upcase отвечает только за преобразование данных в нужный формат перед передачей их для дальнейшей обработки.
Подобный подход к делегированию помогает разделить ответственности между объектами, делая код более модульным и понятным. Это позволяет упростить разработку и обслуживание программного обеспечения, а также повысить его гибкость и масштабируемость.
Другие уроки курса "Python"
- JMESPath в Python
- Магические методы в Python
- Создание объекта времени
- Методы в Python
- Python Enumerate
- Переопределение оператора % для объектов
- Методы сравнения множеств
- Использование эмодзи в Python
- Методы list в Python
- Логирование с Logzero
- Итераторы с потерямиZIP
- Удаление эмодзи с помощью pandas
- Создание директории в Python
- Чтение и запись TOML-конфигов
- Выход из профиля в Django
- Генераторные функции в Python
- Методы HTTP запросов в Flask
- Создание новой даты в Python
- Проверка существования переменной с оператором :=
- Операции с датами в Python
- Разделение строк методом split()
- Добавление элемента к кортежу
- Извлечение статей с newspaper3k
- Принципы программирования
- Атрибуты класса и экземпляра в Python
- Список методов и атрибутов
- Оформление кода по PEP 8
- Метод __ilshift__ для битового сдвига влево
- Возведение в квадрат с помощью itertools
- Разность множеств
- Управление сессиями в Python
- Принципы Zen Python
- Декоратор Ajax required
- Список переменных с %who
- Кортеж в Python: создание и использование
- Декораторы в Python
- Поиск повторов в списке
- Декоратор Property в Python
- Проверка на палиндром
- Метод count в Python: почему count(», ») возвращает 4?
- Введение в Python
- Переворот строки
- Анонимные функции Lambda
- Зарезервированные слова в Python
- Создание вкладок с TKinter
- Функции-генераторы в Python
- Документирование функций в Python















