Курс 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. Названия переменных
  4. Модуль pprint: улучшение вывода данных
  5. Перевод текста с Python Translator
  6. Переменные в Python: сокращение гласных
  7. Счетчик в Python: most_common()
  8. Модуль functools в Python
  9. Метод join для наборов
  10. Декораторы в Python
  11. Приближение чисел в Python
  12. Считывание бинарного файла в Python
  13. Основы Python
  14. Синтаксис переменных цикла в Python
  15. Преобразование генераторов в циклы
  16. Итерация по коллекции в Python
  17. Поиск частого элемента
  18. Поиск индексов подстроки
  19. Анонимные функции в Python
  20. Наследование в программировании
  21. Удаление ключа из словаря в Python
  22. Переопределение метода __and__
  23. Работа с множествами в Python
  24. Вывод сложных структур данных с помощью pprint
  25. Стать Python-разработчиком
  26. Переопределение метода __rshift__
  27. Метод join() для объединения строк
  28. Метод rename() для переименования файлов и каталогов
  29. Удаление символа из строки
  30. Переопределение метода xor в Python
  31. Управление пакетами с pip
  32. Управление сессиями в Python
  33. Удаление специальных символов с помощью re.sub
  34. Декоратор Property в Python
  35. Методы и функции в Python
  36. Транспонирование 2D-массива с помощью zip
  37. Встроенные функции Python
  38. Функция rsplit() в Python
  39. Логические операторы в Python
  40. Переворот строки с помощью срезов
  41. Удаление знаков препинания в Python
  42. Конкатенация строк с join() в Python
  43. Генераторы в Python
  44. Переопределение метода __lshift__
  45. Подписка на Kaspersky Team
  46. Цикл for в Python
  47. Функции высшего порядка в Python
  48. Открытие и редактирование скриптов Python
  49. Библиотека itertools: объединение списков
  50. Объединение объектов в Python

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