Курс 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. Изменение элемента списка
  2. Измерение потребления памяти при сортировке
  3. Метод setdefault() в Python
  4. Декоратор total_ordering для класса Point
  5. Хешируемые ключи в Python
  6. Преобразование чисел в слова
  7. Изучение объектов с помощью dir()
  8. Удаление символа из строки
  9. Функции с дополнением
  10. Вложенные функции в Python
  11. Работа с набором данных CIFAR10 в PyTorch
  12. Операторы увеличения и уменьшения переменной
  13. Блок try…finally в Python
  14. Генераторы в Python
  15. Работа с географическими данными.
  16. Метод __call__ в Python
  17. Функции map() и reduce() в Python
  18. Работа с словарями в Python
  19. Переменные класса и экземпляра
  20. Работа с NumPy
  21. Оператор объединения словарей
  22. Измерение времени выполнения кода с использованием time
  23. Распаковка аргументов в Python
  24. Именованные срезы в Python
  25. Синхронизация потоков с time.sleep()
  26. PEP-401: оператор
  27. Глубокое копирование объектов
  28. Работа с Path в Python
  29. Лямбда-функции в Python
  30. Создание списка через цикл
  31. Функции в Python
  32. Создание словаря с значением по умолчанию
  33. Объединение словарей в Python
  34. Метод init в Python
  35. Деление в Python
  36. Сортировка и разворот списка
  37. Возвращение нескольких значений
  38. Создание уникального проекта
  39. Логирование с Logzero: ротация файла
  40. Импорт объектов из модулей
  41. Метод __irshift__ для Python
  42. Множественное присваивание в Python
  43. Пустой оператор pass в Python
  44. Модуль array: создание и использование массивов
  45. Операции с кортежами
  46. Методы HTTP запросов в Flask
  47. Инверсия списка и строки
  48. Аргумент по умолчанию
  49. Подсчет элементов в Python
  50. Переменная с нижним подчеркиванием

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