Курс 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"
- Профилирование кода на Python
- Работа с аргументами командной строки в Python
- Создание функций высшего порядка
- Хэш-функции в Python
- Методы classmethod и staticmethod
- Преобразование строки в число
- Получение текущей директории
- Обновление ключей в Python
- История Python
- Создание новых функций с помощью functools.partial
- Основные методы NumPy
- Функции классификации комплексных чисел
- Импорт модулей в Python 3.12
- Отладчик pdb: начало работы
- Получение атрибутов и методов класса
- Применение функции к списку
- Измерение времени выполнения кода в Python
- Управление браузером с Selenium
- Обход элементов в Python
- Отслеживание прогресса с tqdm
- Замена переменных в Python
- Сортировка списка по индексам
- Расширение информации об ошибке в Python
- Управление памятью в numpy.
- Генератор списка в Python
- Очистка данных с помощью pandas
- Экспорт данных с помощью writefile
- Переопределение метода __and__
- Различия символов в Python
- Форматирование кода на Python
- Расчет времени выполнения
- Генераторные функции в Python
- Импорт модулей и пакетов в Python
- Курс по дообучению ChatGPT
- Списковое включение в Python
- Блок else в обработке исключений
- Основные операции с Numpy
- Python: отличительная особенность — отступы
- Округление дробей в Python
- Генераторы в Python
- Поиск элементов BeautifulSoup
- Форматирование строк с помощью f-строк
- Модуль future Python
- Оператор «моржа» (Walrus Operator)
- Структуры данных в Python
- Участие в LP стейкинге Waves















