Курс 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"
- Измерение времени выполнения кода
- Непрерывная проверка в Python
- Отправка HTTP-запросов в Python
- Тип данных TypeVarTuple
- Управление экспортом элементов
- Сумма элементов списка
- Отладка в Python
- Разделение строк в Python
- Настройка нарезки списков
- %pinfo: получение информации об объекте
- Перегрузка операторов в Python
- Работа с географическими данными в Python
- Работа с исключениями в Python
- Удаление ресурса в Python
- Перевод эмодзи и эмотиконов.
- Итераторы в Python
- Работа с переменными в Python
- Модуль inspect: получение информации о объектах
- Удаление элементов во время итерации
- Логирование с Logzero
- Применение промокода в Много лосося
- enumerate() в Python для работы с индексами
- Форматирование строк в Python
- Работа с аргументами командной строки в Python
- Работа с географическими данными.
- Изучение объектов с помощью dir()
- Регистрация на курсы SF Education
- Блок else в циклах Python
- Monkey Patching в Python
- Модуль xkcd: загрузка комиксов
- Печать списка с помощью метода join
- Counter() — подсчет элементов
- Генераторы списков
- Создание namedtuple списком полей
- Встраивание HTML в Jupyter Notebook
- Метод rsub для пользовательских чисел
- Атрибуты класса и экземпляра
- Проверка индексов коллекции
- Оператор break в Python
- Извлечение аудио из видео
- Генерация случайных чисел в Python
- Функция rsplit() в Python
- Оператор объединения словарей
- Поиск всех индексов подстроки
- Оператор Walrus в Python















