Курс 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. Python reversed() функция
  2. Генераторы в Python
  3. Работа со строками в Python
  4. Использование функции enumerate()
  5. Параллельные вычисления в Python
  6. Оператор * в Python
  7. Сравнение def и lambda в Python
  8. Вычисление натуральных логарифмов в NumPy
  9. Метод rmatmul для пользовательских матриц
  10. Defaultdict в Python
  11. Работа с процессами в Python
  12. Слияние словарей в Python 3.9
  13. Получение списка файлов в директории с использованием os
  14. Библиотека itertools: объединение списков
  15. Использование *args
  16. Работа с путями в Python
  17. Создание класса в Python
  18. Введение в Python
  19. Оператор Walrus в Python 3.8
  20. Numpy: разбиение массивов
  21. Метод classmethod
  22. Numpy: объединение массивов
  23. Namedtuple в Python
  24. Метод Enumerate() для списков
  25. Вложенные функции в Python
  26. Разделение строки с помощью re.split()
  27. Логирование с Logzero
  28. Отправка поздравлений по дню рождения
  29. Создание списка через итерацию
  30. Оператор in в Python
  31. Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
  32. Избегайте ошибку FileNotFoundError
  33. Использование defaultdict в Python
  34. PEP-401: оператор
  35. Списки в Python
  36. Передача аргументов через **arguments
  37. Пропуск начальных строк с помощью dropwhile()
  38. Удаление ссылок в Python
  39. Обработка ошибок ввода данных
  40. Работа с JSON в Python
  41. Экспорт внешнего файла с помощью writefile
  42. Генераторы в Python
  43. Работа со строками в Python
  44. Удаление ключей из словаря
  45. Каналы Senior: Python, Java, Frontend, SQL, C++

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