Balcão
Você está trabalhando em um novo aplicativo da Web e está curioso para saber quantas vezes cada uma das funções é chamada. Então você decide escrever um decorador que adiciona um contador a cada função que você decora. Você pode usar essas informações no futuro para determinar se há seções de código que podem ser removidas porque não estão mais sendo usadas pelo aplicativo.
Este exercício faz parte do curso
Como escrever funções em Python
Instruções de exercício
- Chame a função que está sendo decorada e retorne o resultado.
- Retorna a nova função decorada.
- Decore o site
foo()
com o decoradorcounter()
.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
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))