Курс 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
  2. Работа с аргументами командной строки в Python
  3. Создание функций высшего порядка
  4. Хэш-функции в Python
  5. Методы classmethod и staticmethod
  6. Преобразование строки в число
  7. Получение текущей директории
  8. Обновление ключей в Python
  9. История Python
  10. Создание новых функций с помощью functools.partial
  11. Основные методы NumPy
  12. Функции классификации комплексных чисел
  13. Импорт модулей в Python 3.12
  14. Отладчик pdb: начало работы
  15. Получение атрибутов и методов класса
  16. Применение функции к списку
  17. Измерение времени выполнения кода в Python
  18. Управление браузером с Selenium
  19. Обход элементов в Python
  20. Отслеживание прогресса с tqdm
  21. Замена переменных в Python
  22. Сортировка списка по индексам
  23. Расширение информации об ошибке в Python
  24. Управление памятью в numpy.
  25. Генератор списка в Python
  26. Очистка данных с помощью pandas
  27. Экспорт данных с помощью writefile
  28. Переопределение метода __and__
  29. Различия символов в Python
  30. Форматирование кода на Python
  31. Расчет времени выполнения
  32. Генераторные функции в Python
  33. Импорт модулей и пакетов в Python
  34. Курс по дообучению ChatGPT
  35. Списковое включение в Python
  36. Блок else в обработке исключений
  37. Основные операции с Numpy
  38. Python: отличительная особенность — отступы
  39. Округление дробей в Python
  40. Генераторы в Python
  41. Поиск элементов BeautifulSoup
  42. Форматирование строк с помощью f-строк
  43. Модуль future Python
  44. Оператор «моржа» (Walrus Operator)
  45. Структуры данных в Python
  46. Участие в LP стейкинге Waves

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