Курс 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"
- Изменение элемента списка
- Измерение потребления памяти при сортировке
- Метод setdefault() в Python
- Декоратор total_ordering для класса Point
- Хешируемые ключи в Python
- Преобразование чисел в слова
- Изучение объектов с помощью dir()
- Удаление символа из строки
- Функции с дополнением
- Вложенные функции в Python
- Работа с набором данных CIFAR10 в PyTorch
- Операторы увеличения и уменьшения переменной
- Блок try…finally в Python
- Генераторы в Python
- Работа с географическими данными.
- Метод __call__ в Python
- Функции map() и reduce() в Python
- Работа с словарями в Python
- Переменные класса и экземпляра
- Работа с NumPy
- Оператор объединения словарей
- Измерение времени выполнения кода с использованием time
- Распаковка аргументов в Python
- Именованные срезы в Python
- Синхронизация потоков с time.sleep()
- PEP-401: оператор
- Глубокое копирование объектов
- Работа с Path в Python
- Лямбда-функции в Python
- Создание списка через цикл
- Функции в Python
- Создание словаря с значением по умолчанию
- Объединение словарей в Python
- Метод init в Python
- Деление в Python
- Сортировка и разворот списка
- Возвращение нескольких значений
- Создание уникального проекта
- Логирование с Logzero: ротация файла
- Импорт объектов из модулей
- Метод __irshift__ для Python
- Множественное присваивание в Python
- Пустой оператор pass в Python
- Модуль array: создание и использование массивов
- Операции с кортежами
- Методы HTTP запросов в Flask
- Инверсия списка и строки
- Аргумент по умолчанию
- Подсчет элементов в Python
- Переменная с нижним подчеркиванием















