Курс 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. Функция divmod() в Python
  2. Переворот списка в Python
  3. Именование переменных в Python
  4. Удаление falsy-значений из списка с помощью filter
  5. Создание словаря с значением по умолчанию
  6. Python enumerate() функции
  7. Python Тесты и Гайды
  8. Работа с *args и **kwargs в Python
  9. Lambda Functions in Python
  10. Печать календаря
  11. Основные функции и модули Python
  12. Цикл for в Python
  13. Поиск email
  14. Конкатенация строковых литералов
  15. Создание спинбокса в tkinter
  16. Работа с исключениями в Python
  17. Подробная информация о %pinfo
  18. Поиск простых чисел
  19. Работа с CSV файлами в Python
  20. Регистрация на хакатоне
  21. Удаление знаков препинания в Python
  22. Solidity для DeFi Ethereum
  23. Поиск HTML-элементов с BeautifulSoup
  24. Поиск индекса элемента в списке
  25. Настройка нарезки списков
  26. Генерация чисел с range()
  27. Обработка исключений с блоком else
  28. Преобразование чисел в восьмеричную строку
  29. Перевернуть список в Python
  30. Методы работы со списками
  31. Счетчик ссылок в Python
  32. Возврат нескольких значений
  33. Область видимости переменных
  34. Работа с пакетами
  35. Группировка элементов в словарь
  36. Установка и использование howdoi
  37. Измерение времени выполнения кода в Python
  38. Поиск уникальных элементов строкой в Python
  39. Метод get() для словарей
  40. Анонимные функции в Python
  41. Разработка игры Pong с turtle
  42. Обработка исключений в Python 3
  43. Класс Counter() для подсчета элементов
  44. Работа с WindowsPath()
  45. Получение пути к текущему скрипту с помощью os
  46. Взаимодействие с внешними процессами в Python

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