Definirea unui decorator
Colegul tău a lucrat la un decorator care afișează un mesaj „before" înainte ca funcția decorată să fie apelată și un mesaj „after" după ce aceasta este apelată. El întâmpină dificultăți în a-și aminti cum funcționează împachetarea funcției decorate. Ajută-l finalizând decoratorul print_before_and_after().
Acest exercițiu face parte din cursul
Scrierea funcțiilor în Python
Instrucțiuni pentru exercițiu
- Apelează funcția care este decorată și pasează-i argumentele poziționale
*args. - Returnează noua funcție decorată.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
def print_before_and_after(func):
def wrapper(*args):
print('Before {}'.format(func.__name__))
# Call the function being decorated with *args
____(*args)
print('After {}'.format(func.__name__))
# Return the nested function
return ____
@print_before_and_after
def multiply(a, b):
print(a * b)
multiply(5, 10)