Курс 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. TypedDict для kwargs в Python 3.12
  2. Оператор «or» в Python
  3. Профилирование данных с Pandas.
  4. Метод join() для объединения строк
  5. Метод __getitem__ в Python
  6. Частичное применение функций в Python
  7. Строковое представление объектов
  8. Построение графиков в Matplotlib
  9. Поиск самого длинного слова в списке с использованием max()
  10. Управление IP-адресами через прокси
  11. Компиляция регулярных выражений
  12. Метод join() для объединения элементов строки
  13. Поиск наиболее частого элемента в списке
  14. Библиотека Emoji: использование смайлов в Python
  15. Настройка вывода NumPy
  16. Работа с необработанными строками
  17. Преобразование типов данных в set comprehension
  18. Переопределение метода len
  19. Возврат нескольких значений из функции
  20. Получение значений из словарей
  21. Возвращение нескольких значений через кортеж или класс
  22. Подсказки типов в Python
  23. enumerate() в Python для работы с индексами
  24. Списковое включение в Python
  25. Оператор space-invader
  26. Подписка на каналы разработчиков
  27. Метод title() в Python
  28. Retrying в Python: повторные вызовы
  29. Работа с дробями в Python
  30. Создание даты из строки ISO
  31. Работа с набором данных CIFAR10 в PyTorch
  32. Поиск наиболее частого элемента списке
  33. Обработка исключения UnboundLocalError
  34. Работа с контекст-менеджером «with»
  35. Функции с необязательными аргументами
  36. Конвертация изображений в PDF
  37. Оператор continue в Python
  38. Работа с кортежами в Python
  39. Работа с zip()
  40. Проверка версии Python
  41. Генераторы в Python
  42. Удаление элемента по индексу в Python
  43. Howdoi — получение ответов из терминала
  44. Переопределение метода __floordiv__
  45. lru_cache оптимизация функций
  46. Метод enumerate() в Python

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