Курс 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. Метод rmatmul для пользовательских матриц
  2. Python Translator: создание локальных переводчиков
  3. Манипуляция формой массива в Numpy
  4. Работа с набором данных CIFAR10 в PyTorch
  5. Различия символов в Python
  6. Конкатенация строк в Python
  7. Работа с пользовательским вводом
  8. Работа с f-строками 2.0
  9. Списки в Python
  10. Проверка вхождения подстроки
  11. Утечки переменных цикла в Python 3.x
  12. Pillow: работа с изображениями
  13. Проверка наличия элемента в списке
  14. Подписка на каналы разработчиков
  15. Отладка утечек памяти в Python
  16. Метод Enumerate() для списков
  17. Enum в Python
  18. Форматирование строк в Python
  19. Разрешение имен в Python
  20. Оператор (*) в Python
  21. Модуль xkcd: добавление юмора в Python
  22. Сортировка в Python
  23. Проверка окончания строки с помощью str.endswith()
  24. Простой калькулятор Python
  25. Ошибка NotImplemented в Python
  26. Генераторы списков в Python
  27. Использование эмодзи в Python
  28. %pinfo: получение информации об объекте
  29. Методы работы со списками
  30. Сортировка в Python
  31. Чтение и запись TOML-конфигов
  32. Сортировка и обратный порядок
  33. Многострочные комментарии в Python
  34. Открытие и редактирование скриптов Python
  35. Список переменных в Python
  36. Python Enumerate
  37. Обработка аргументов Python
  38. Переменная с нижним подчеркиванием
  39. Проверка типа данных
  40. Конвертация коллекций в Python
  41. Работа с кортежами в Python
  42. Именованные аргументы в Python
  43. Тайное преобразование типа ключа
  44. Копирование файлов с shutil()
  45. Избегайте пустого списка
  46. Форматирование чисел в Python

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