Курс 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. Concrete Paths в Python
  3. PUT запрос для обновления данных
  4. Сокращение ссылок с pyshorteners
  5. Вывод сложных структур данных с помощью pprint
  6. Поиск анаграмм с Counter
  7. Копирование файлов с shutil()
  8. Именование переменных в Python
  9. Глобальные переменные в Python
  10. Работа с аргументами командной строки в Python
  11. Установка и использование библиотеки google
  12. Работа с изображениями PIL
  13. Реверс строки в Python
  14. Работа с итераторами через срезы
  15. Работа с *args и **kwargs в Python
  16. Создание списка через цикл
  17. Изменения в обработке логических значений
  18. Метод count() для списка
  19. Библиотека schedule: планировщик задач
  20. Python OrderedDict и fromkeys() — работа с словарями
  21. Функция с **kwargs в Python
  22. Обработка исключений в Python
  23. Преобразование строк в числа с плавающей запятой
  24. Цикл for в Python
  25. Возврат нескольких значений
  26. Методы classmethod и staticmethod
  27. Функция all() в Python
  28. Обработка исключений с блоком else
  29. Defaultdict в Python
  30. Изменение элемента списка
  31. Создание списков в Python
  32. Распаковка значений в Python
  33. Python: Фильтрация списков с помощью filter()
  34. Оператор == в Python
  35. Переопределение метода __lshift__
  36. Списковый компрехеншен.
  37. Создание словарей с defaultdict
  38. Построение графиков в Matplotlib
  39. Оптимизация гиперпараметров в Python
  40. Метод lt для сортировки объектов
  41. Отладка в Python
  42. Enum в Python
  43. Объединение словарей в Python
  44. Комментарии в Python
  45. Доступ к локальным переменным
  46. Работа с файлами и директориями в Python.
  47. Декораторы классов
  48. Метод __ilshift__ для битового сдвига влево
  49. Замена элементов в списке с помощью генераторов списков

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