Курс 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"
- TypedDict для kwargs в Python 3.12
- Оператор «or» в Python
- Профилирование данных с Pandas.
- Метод join() для объединения строк
- Метод __getitem__ в Python
- Частичное применение функций в Python
- Строковое представление объектов
- Построение графиков в Matplotlib
- Поиск самого длинного слова в списке с использованием max()
- Управление IP-адресами через прокси
- Компиляция регулярных выражений
- Метод join() для объединения элементов строки
- Поиск наиболее частого элемента в списке
- Библиотека Emoji: использование смайлов в Python
- Настройка вывода NumPy
- Работа с необработанными строками
- Преобразование типов данных в set comprehension
- Переопределение метода len
- Возврат нескольких значений из функции
- Получение значений из словарей
- Возвращение нескольких значений через кортеж или класс
- Подсказки типов в Python
- enumerate() в Python для работы с индексами
- Списковое включение в Python
- Оператор space-invader
- Подписка на каналы разработчиков
- Метод title() в Python
- Retrying в Python: повторные вызовы
- Работа с дробями в Python
- Создание даты из строки ISO
- Работа с набором данных CIFAR10 в PyTorch
- Поиск наиболее частого элемента списке
- Обработка исключения UnboundLocalError
- Работа с контекст-менеджером «with»
- Функции с необязательными аргументами
- Конвертация изображений в PDF
- Оператор continue в Python
- Работа с кортежами в Python
- Работа с zip()
- Проверка версии Python
- Генераторы в Python
- Удаление элемента по индексу в Python
- Howdoi — получение ответов из терминала
- Переопределение метода __floordiv__
- lru_cache оптимизация функций
- Метод enumerate() в Python















