Курс 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"
- Метод rmatmul для пользовательских матриц
- Python Translator: создание локальных переводчиков
- Манипуляция формой массива в Numpy
- Работа с набором данных CIFAR10 в PyTorch
- Различия символов в Python
- Конкатенация строк в Python
- Работа с пользовательским вводом
- Работа с f-строками 2.0
- Списки в Python
- Проверка вхождения подстроки
- Утечки переменных цикла в Python 3.x
- Pillow: работа с изображениями
- Проверка наличия элемента в списке
- Подписка на каналы разработчиков
- Отладка утечек памяти в Python
- Метод Enumerate() для списков
- Enum в Python
- Форматирование строк в Python
- Разрешение имен в Python
- Оператор (*) в Python
- Модуль xkcd: добавление юмора в Python
- Сортировка в Python
- Проверка окончания строки с помощью str.endswith()
- Простой калькулятор Python
- Ошибка NotImplemented в Python
- Генераторы списков в Python
- Использование эмодзи в Python
- %pinfo: получение информации об объекте
- Методы работы со списками
- Сортировка в Python
- Чтение и запись TOML-конфигов
- Сортировка и обратный порядок
- Многострочные комментарии в Python
- Открытие и редактирование скриптов Python
- Список переменных в Python
- Python Enumerate
- Обработка аргументов Python
- Переменная с нижним подчеркиванием
- Проверка типа данных
- Конвертация коллекций в Python
- Работа с кортежами в Python
- Именованные аргументы в Python
- Тайное преобразование типа ключа
- Копирование файлов с shutil()
- Избегайте пустого списка
- Форматирование чисел в Python















