Курс 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. JMESPath в Python
  2. Магические методы в Python
  3. Создание объекта времени
  4. Методы в Python
  5. Python Enumerate
  6. Переопределение оператора % для объектов
  7. Методы сравнения множеств
  8. Использование эмодзи в Python
  9. Методы list в Python
  10. Логирование с Logzero
  11. Итераторы с потерямиZIP
  12. Удаление эмодзи с помощью pandas
  13. Создание директории в Python
  14. Чтение и запись TOML-конфигов
  15. Выход из профиля в Django
  16. Генераторные функции в Python
  17. Методы HTTP запросов в Flask
  18. Создание новой даты в Python
  19. Проверка существования переменной с оператором :=
  20. Операции с датами в Python
  21. Разделение строк методом split()
  22. Добавление элемента к кортежу
  23. Извлечение статей с newspaper3k
  24. Принципы программирования
  25. Атрибуты класса и экземпляра в Python
  26. Список методов и атрибутов
  27. Оформление кода по PEP 8
  28. Метод __ilshift__ для битового сдвига влево
  29. Возведение в квадрат с помощью itertools
  30. Разность множеств
  31. Управление сессиями в Python
  32. Принципы Zen Python
  33. Декоратор Ajax required
  34. Список переменных с %who
  35. Кортеж в Python: создание и использование
  36. Декораторы в Python
  37. Поиск повторов в списке
  38. Декоратор Property в Python
  39. Проверка на палиндром
  40. Метод count в Python: почему count(», ») возвращает 4?
  41. Введение в Python
  42. Переворот строки
  43. Анонимные функции Lambda
  44. Зарезервированные слова в Python
  45. Создание вкладок с TKinter
  46. Функции-генераторы в Python
  47. Документирование функций в Python

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