Курс 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"

  1. Измерение времени выполнения кода
  2. Непрерывная проверка в Python
  3. Отправка HTTP-запросов в Python
  4. Тип данных TypeVarTuple
  5. Управление экспортом элементов
  6. Сумма элементов списка
  7. Отладка в Python
  8. Разделение строк в Python
  9. Настройка нарезки списков
  10. %pinfo: получение информации об объекте
  11. Перегрузка операторов в Python
  12. Работа с географическими данными в Python
  13. Работа с исключениями в Python
  14. Удаление ресурса в Python
  15. Перевод эмодзи и эмотиконов.
  16. Итераторы в Python
  17. Работа с переменными в Python
  18. Модуль inspect: получение информации о объектах
  19. Удаление элементов во время итерации
  20. Логирование с Logzero
  21. Применение промокода в Много лосося
  22. enumerate() в Python для работы с индексами
  23. Форматирование строк в Python
  24. Работа с аргументами командной строки в Python
  25. Работа с географическими данными.
  26. Изучение объектов с помощью dir()
  27. Регистрация на курсы SF Education
  28. Блок else в циклах Python
  29. Monkey Patching в Python
  30. Модуль xkcd: загрузка комиксов
  31. Печать списка с помощью метода join
  32. Counter() — подсчет элементов
  33. Генераторы списков
  34. Создание namedtuple списком полей
  35. Встраивание HTML в Jupyter Notebook
  36. Метод rsub для пользовательских чисел
  37. Атрибуты класса и экземпляра
  38. Проверка индексов коллекции
  39. Оператор break в Python
  40. Извлечение аудио из видео
  41. Генерация случайных чисел в Python
  42. Функция rsplit() в Python
  43. Оператор объединения словарей
  44. Поиск всех индексов подстроки
  45. Оператор Walrus в Python

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