Counter
Pracuješ na nové webové aplikaci a zajímá tě, kolikrát se každá z jejích funkcí volá. Rozhodneš se proto napsat dekorátor, který ke každé dekorované funkci přidá čítač. Tuhle informaci pak můžeš v budoucnu využít k tomu, abys zjistil/a, které části kódu už aplikace nepoužívá a lze je odstranit.
Toto cvičení je součástí kurzu
Writing Functions in Python
Pokyny k cvičení
- Zavolej dekorovanou funkci a vrať její výsledek.
- Vrať novou dekorovanou funkci.
- Dekoruj
foo()pomocí dekorátorucounter().
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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))