Код Junior Декораторы спрашивают часто обновлено
Декоратор, считающий вызовы
Условие
Напишите декоратор count_calls, который сохраняет число вызовов функции в атрибуте calls обёртки и сохраняет имя функции (functools.wraps). Проверка: run(n) вызывает декорированную функцию n раз и возвращает [f.calls, f.__name__, последний результат или None].
Примеры
run(3) // [3, "double", 4]
run(0) // [0, "double", null]
run(1) // [1, "double", 0]
Как подойти
Подсказки: 1
- Атрибут можно повесить на функцию:
wrapper.calls = 0.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.