Contor
Lucrezi la o nouă aplicație web și ești curios/curioasă de câte ori este apelată fiecare funcție din ea. Așa că decizi să scrii un decorator care adaugă un contor fiecărei funcții pe care o decorezi. Această informație îți poate fi utilă mai târziu pentru a identifica secțiuni de cod care nu mai sunt folosite de aplicație și pe care le-ai putea elimina.
Acest exercițiu face parte din cursul
Scrierea funcțiilor în Python
Instrucțiuni pentru exercițiu
- Apelează funcția care urmează să fie decorată și returnează rezultatul.
- Returnează noua funcție decorată.
- Decorează
foo()cu decoratorulcounter().
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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))