Курс 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. Работа со слайсами
  4. Метод rrshift для пользовательских объектов
  5. Создание веб-приложения с Flask
  6. Блок else в Python
  7. Замер времени выполнения кода
  8. Декораторы в Python
  9. Порядок операций в Python
  10. Профилирование с Pandas
  11. Работа с комплексными числами
  12. Многоточие в Python
  13. Упрощение условных выражений с тернарным оператором
  14. Замена текста в Python
  15. Итераторы в Python
  16. Метод pos в Python
  17. Работа с географическими данными.
  18. Обновление данных через PUT запрос
  19. Область видимости переменных
  20. Создание и использование модулей в Python
  21. Обработка ошибок ввода данных
  22. Метод remove() для удаления элемента из списка
  23. Работа с itertools
  24. Переопределение оператора % для объектов
  25. Проектирование Singleton с метаклассом
  26. Отладка кода
  27. Логический оператор «and» в Python
  28. Конструктор в Python
  29. Операции с комплексными числами
  30. Цикл for в Python
  31. Модуль itertools: эффективная работа с итераторами
  32. Генераторы списков в Python
  33. Основы работы с os
  34. Рекурсия для обращения строки
  35. Расширение операции побитового «и» в Python
  36. Работа с CSV в Python
  37. Просмотр внешних файлов в %pycat
  38. Работа со строками в Python
  39. Генераторные функции в Python
  40. PEP-401: оператор
  41. Поиск индексов в списке
  42. Конкатенация строк в Python
  43. Проверка однородности элементов списка

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