Contatore
Stai lavorando a una nuova web app e sei curioso di sapere quante volte vengono chiamate le varie funzioni. Decidi quindi di scrivere un decorator che aggiunga un contatore a ogni funzione che decori. In futuro potresti usare queste informazioni per capire se ci sono parti di codice che puoi rimuovere perché non sono più utilizzate dall'app.
Questo esercizio fa parte del corso
Scrivere funzioni in Python
Istruzioni dell'esercizio
- Chiama la funzione che stai decorando e restituiscine il risultato.
- Restituisci la nuova funzione decorata.
- Decora
foo()con il decoratorcounter().
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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))