Курс 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"
- Подсчет часто встречающихся элементов
- Concrete Paths в Python
- PUT запрос для обновления данных
- Сокращение ссылок с pyshorteners
- Вывод сложных структур данных с помощью pprint
- Поиск анаграмм с Counter
- Копирование файлов с shutil()
- Именование переменных в Python
- Глобальные переменные в Python
- Работа с аргументами командной строки в Python
- Установка и использование библиотеки google
- Работа с изображениями PIL
- Реверс строки в Python
- Работа с итераторами через срезы
- Работа с *args и **kwargs в Python
- Создание списка через цикл
- Изменения в обработке логических значений
- Метод count() для списка
- Библиотека schedule: планировщик задач
- Python OrderedDict и fromkeys() — работа с словарями
- Функция с **kwargs в Python
- Обработка исключений в Python
- Преобразование строк в числа с плавающей запятой
- Цикл for в Python
- Возврат нескольких значений
- Методы classmethod и staticmethod
- Функция all() в Python
- Обработка исключений с блоком else
- Defaultdict в Python
- Изменение элемента списка
- Создание списков в Python
- Распаковка значений в Python
- Python: Фильтрация списков с помощью filter()
- Оператор == в Python
- Переопределение метода __lshift__
- Списковый компрехеншен.
- Создание словарей с defaultdict
- Построение графиков в Matplotlib
- Оптимизация гиперпараметров в Python
- Метод lt для сортировки объектов
- Отладка в Python
- Enum в Python
- Объединение словарей в Python
- Комментарии в Python
- Доступ к локальным переменным
- Работа с файлами и директориями в Python.
- Декораторы классов
- Метод __ilshift__ для битового сдвига влево
- Замена элементов в списке с помощью генераторов списков















