Курс 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. Подсчет элементов с помощью Counter
  2. Progress с библиотекой tqdm
  3. Работа с классами данных
  4. Вычисление логарифмов в Python
  5. Изучение объектов с помощью dir()
  6. Транспонирование 2D-массива с помощью zip
  7. Обход дочерних элементов BeautifulSoup
  8. Разделение строки с помощью split()
  9. Функция all() в Python
  10. Создание объекта timedelta
  11. Удаление первого элемента списка
  12. Асинхронный код в Python
  13. Отладчик pdb: начало работы
  14. Структура данных словарь в Python
  15. Создание пользовательской коллекции в Python
  16. globals и locals
  17. Работа с базами данных SQLite
  18. Метод join() для объединения элементов строки
  19. None в Python: использование и особенности
  20. Оператор обр. импликации
  21. Группировка элементов Python
  22. Получение текущего времени в Python
  23. Глобальные переменные в Python
  24. Автоматизация действий с Pyautogui
  25. Подсказки типов в Python
  26. Работа с модулем os в Python
  27. Взаимодействие с sys
  28. Отрицательные индексы списков в Python
  29. Проблема сравнения словарей
  30. Определение объема памяти объекта
  31. Работа со случайными элементами
  32. Основные функции и модули Python
  33. Непрерывная проверка в Python
  34. Добавление элементов в список
  35. Работа с словарями в Python
  36. Метод Event.wait() в Python
  37. Метод округления чисел
  38. Реверс строки в Python
  39. Декоратор total_ordering для сравнения объектов
  40. Поиск индексов в списке
  41. Атрибуты класса и экземпляра
  42. Мониторинг памяти с Pympler
  43. Создание множества в Python
  44. Применение промокода в Много лосося

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