ComeçarComece gratuitamente

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

Ver Curso

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 decorador counter().

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))
Editar e executar código