ÎncepețiÎncepe gratuit

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

Vezi cursul

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)
Editează și rulează codul