Дескрипторы Python: задачи на __get__, __set__ и __set_name__
Один дескриптор обслуживает много экземпляров, поэтому ошибка в хранении данных может смешать значения разных объектов. Начните с вопросов про это поведение и приоритет dict. Затем реализуйте проверку связанных границ, значения по умолчанию, журнал присваиваний и однократную запись. В задаче со сбросом зависимых свойств придётся продумать, что происходит с уже вычисленным кэшем после изменения исходного поля.
Как заниматься
7 заданий ниже можно проходить по порядку или выбирать нужную проблему. В заданиях на код есть проверка решения; в вопросах — проверка выбранного ответа. Требования к реализации и примеры приведены на страницах заданий.
Вся практика собрана в бесплатном большом задачнике по Python для разработчиков.
Смежная практика
- Дескриптор и dict в Python: кто имеет приоритет при чтении
Дескриптор и dict в Python: кто имеет приоритет при чтении. Вопрос с проверкой ответа.
Практический Python для разработчиков: большой задачник - Дескрипторы Python: почему значение разделяется между экземплярами
Дескрипторы Python: почему значение разделяется между экземплярами. Вопрос с проверкой ответа.
Практический Python для разработчиков: большой задачник - Дескрипторы Python: валидация и сброс кэша зависимых свойств
Дескрипторы Python: валидация и сброс кэша зависимых свойств. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник - Дескрипторы Python: значения по умолчанию и удаление переопределений
Дескрипторы Python: значения по умолчанию и удаление переопределений. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник - Дескриптор Python: проверка связанных полей low и high
Дескриптор Python: проверка связанных полей low и high. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник - Дескриптор Python без get: журнал присваиваний в set
Дескриптор Python без get: журнал присваиваний в set. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник - Дескриптор Python: однократная запись и setname
Дескриптор Python: однократная запись и setname. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник
