Курс 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. Форматирование данных с pprint
  4. Удаление первого элемента списка
  5. Разделение строк в Python
  6. Распаковка аргументов в Python
  7. Работа с OpenCV
  8. Константы в модуле cmath
  9. Замена текста в Python
  10. Регистрация на TenChat
  11. Анонимные функции в Python
  12. Функции all и any в Python
  13. Установка и использование howdoi
  14. Преобразование Excel в PDF с Spire.XLS
  15. Очистка списка от False, None, 0, «»
  16. Оператор объединения словарей
  17. Удаление файлов в Python
  18. Настройка вывода NumPy
  19. Перегрузка операторов в Python
  20. ChainMap.new_child() — добавление нового словаря
  21. Игра «Угадывание чисел»
  22. Декораторы классов
  23. Основы работы со строками в Python
  24. Сортировка списка по индексам
  25. Создание уникального проекта
  26. Генераторы в Python
  27. Big O оптимизация
  28. Выключение компьютера с помощью Python
  29. Подсчет элементов с помощью Counter
  30. Разбиение строки в Python
  31. Преобразование чисел в Python
  32. Функция all() в Python
  33. Оператор break в Python
  34. Копирование в Python
  35. Использование defaultdict в Python
  36. Оператор (*) в Python
  37. Импорт объектов из модулей
  38. Извлечение новостей с помощью newspaper3k
  39. Метод rrshift для пользовательских объектов
  40. Освобождение памяти в Python
  41. Вложенные циклы в Python
  42. Конкатенация строк с помощью join()
  43. Разделение строки в Python

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