Написать декоратор annodoc(), которым можно декорировать классы и функции. Декоратор должен просматривать аннотации объекта и выбирать из них только такие, у которых вместо типа в аннотации используется строка. Эти строки (если они есть) надо добавлять в документацию объекта так:
(всегда) В начало строки документации — имя: (где имя — это поле .__name__ объекта)
- ⇒ Если у объекта не было строки документации, она создаётся
В конец строки документации — Variable имя: аннотация-строка (поля класса, формальные параметры функции или метода)
В самый конец строки документации — Returns: аннотация-строка для возвращаемого значения
Аннотированный объект следует просмотреть рекурсивно, и для каждого аннотированного указанным способом атрибута изменить строку документации с помощью annodoc(). Гарантируется, что в тестах эта рекурсия конечна.
Внимание! Если в вашем IDE само собой включилось from __future__ import annotations — всё пойдет не по плану ☹
- Проверьте, что задекорированные объекты сохраняют работоспособность ☺
C: The class Variable const: constant Variable var: variable method: Variable x: parameter Returns: return value