Курс 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. Фильтрация элементов с помощью islice
  3. Работа с SQLite в Python
  4. Метод enumerate() в Python
  5. Оптимизация памяти с помощью __slots__
  6. Замыкания в Python
  7. Python 3.12: Псевдонимы типов
  8. Инверсия списка и строки в Python
  9. Работа с URL-адресами в Python
  10. Операции с комплексными числами
  11. Сравнение объектов в Python
  12. Defaultdict в Python
  13. Принципы Zen Python
  14. Сортировка в Python
  15. Блок try-except-else
  16. Работа с путями в Python
  17. Обмен значений переменных в Python
  18. Форматирование строк в Python
  19. Функция count() в Python
  20. Python Аргументы по умолчанию
  21. Работа с часовыми поясами в Python.
  22. Операторы увеличения и уменьшения переменной
  23. Оценка точности модели
  24. Комментарии в Python
  25. Удаление ресурса в Python
  26. Создание пустых функций и классов в Python
  27. Работа с файлами в Python
  28. Генераторы в Python
  29. UserString в Python
  30. Создание функций высшего порядка
  31. Структуры данных в Python
  32. Управление User-Agent в Python
  33. Оператор * в Python
  34. Генераторы списков
  35. Замена переменных в Python
  36. Имена объектов в Python
  37. Оператор деления для класса Rational
  38. Проверка запуска скрипта или импорта модуля
  39. Python и Юникод: работа с цифрами
  40. split() без разделителя
  41. Функции range() в Python
  42. Списковые включения в Python
  43. Работа с кортежами в Python
  44. Многострочные комментарии в Python
  45. Создание новых списков
  46. Равенство и идентичность в Python
  47. Обработка исключений в Python
  48. Списки в Python: синтаксис представления
  49. Замеры производительности в Python

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