Курс 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. Функция zip() в Python
  2. Математические функции в Python
  3. Метод get() для словарей
  4. Операторы присваивания в Python
  5. Работа с кортежами в Python
  6. Структуры данных в Python
  7. Присвоение значений переменным в Python
  8. Порядок и длина множеств в Python
  9. Измерение времени выполнения кода с помощью time
  10. Операторы сравнения в Python
  11. Отношения подклассов в Python
  12. Получение пути к текущему скрипту с помощью os
  13. Операции с кортежами
  14. Округление в Python
  15. Эффективная конкатенация строк с использованием join()
  16. Генерация резюме в Gensim
  17. SciPy: широкий функционал для математических операций
  18. Функция enumerate() — Python
  19. Блок else в циклах.
  20. Вложенные функции в Python
  21. Метод rename() для переименования файлов и каталогов
  22. Оператор обр. импликации
  23. Ввод нескольких значений
  24. Работа с набором данных CIFAR10 в PyTorch
  25. Отладка кода
  26. Чтение и запись TOML-конфигов
  27. Измерение времени выполнения кода
  28. Работа с Colorama
  29. Список методов и атрибутов
  30. Создание GUI на Tkinter
  31. Создание спинбокса в tkinter
  32. Преобразование PowerPoint в PDF.
  33. Создание виртуальной среды
  34. Логические значения в Python
  35. Списковое включение в Python
  36. Поиск уникальных элементов строкой в Python
  37. Генерация UUID в Python
  38. Описание скриптов в README
  39. Очистка строки в Python
  40. Работа с Requests для HTTP-запросов
  41. Работа с контекстными менеджерами
  42. Удаление ключей из словаря
  43. Использование модуля math
  44. Создание уникального множества
  45. Работа с аргументами командной строки

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