Счётчик
Вы работаете над новым веб-приложением и хотите узнать, сколько раз вызывается каждая из его функций. Для этого вы решаете написать декоратор, который добавляет счётчик к каждой декорируемой функции. В дальнейшем эта информация поможет вам определить, какие участки кода можно удалить, поскольку приложение их больше не использует.
Это упражнение является частью курса
Написание функций на Python
Инструкции к упражнению
- Вызовите декорируемую функцию и верните результат.
- Верните новую декорированную функцию.
- Примените декоратор
counter()к функцииfoo().
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
def counter(func):
def wrapper(*args, **kwargs):
wrapper.count += 1
# Call the function being decorated and return the result
return ____
# Set count to 0 to initialize call count for each new decorated function
wrapper.count = 0
# Return the new decorated function
____
# Decorate foo() with the counter() decorator
____
def foo():
print('calling foo()')
foo()
foo()
print('foo() was called {} times.'.format(foo.count))