Классы-декораторы Python: задачи на __call__, методы и состояние
Класс-декоратор удобно использовать, когда обёртке нужен собственный счётчик, буфер или переключатель источников. Но при декорировании метода появляется дополнительная проблема — привязка экземпляра. Сначала проверьте её на коротких вопросах, затем исправьте обёртку для методов. Остальные задачи предлагают накапливать события для пакетной записи, переключаться на резервную реплику, ограничивать рекурсию и контролировать последовательность результатов.
Как заниматься
13 заданий ниже можно проходить по порядку или выбирать нужную проблему. В заданиях на код есть проверка решения; в вопросах — проверка выбранного ответа. Требования к реализации и примеры приведены на страницах заданий.
Вся практика собрана в бесплатном большом задачнике по Python для разработчиков.
Смежная практика
- Класс-декоратор Python: когда вызывается init
Класс-декоратор Python: когда вызывается init. Вопрос с проверкой ответа.
Практический Python для разработчиков: большой задачник - Класс-декоратор метода Python: почему теряется self
Класс-декоратор метода Python: почему теряется self. Вопрос с проверкой ответа.
Практический Python для разработчиков: большой задачник - Класс-декоратор Python: ограничение изменения результата между вызовами
Класс-декоратор Python: ограничение изменения результата между вызовами. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник - Класс-декоратор Python: изменение аргумента первых N вызовов
Класс-декоратор Python: изменение аргумента первых N вызовов. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник - Класс-декоратор Python: буфер событий и пакетная запись
Класс-декоратор Python: буфер событий и пакетная запись. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник - Класс-декоратор Python: переключение между основной и резервной репликой
Класс-декоратор Python: переключение между основной и резервной репликой. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник - Класс-декоратор Python: проверка чередования фаз вызова
Класс-декоратор Python: проверка чередования фаз вызова. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник - Класс-декоратор Python: сохранение каждого N-го результата
Класс-декоратор Python: сохранение каждого N-го результата. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник - Исправьте класс-декоратор Python для методов экземпляра
Исправьте класс-декоратор Python для методов экземпляра. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник - Класс-декоратор Python: ограничение глубины рекурсии
Класс-декоратор Python: ограничение глубины рекурсии. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник - Класс-декоратор Python: переключение источника после ошибки
Класс-декоратор Python: переключение источника после ошибки. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник - Класс-декоратор Python: проверка монотонности результатов
Класс-декоратор Python: проверка монотонности результатов. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник - Класс-декоратор Python: баланс доступных вызовов функции
Класс-декоратор Python: баланс доступных вызовов функции. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник
