Kom igångKom igång gratis

Definiera en dekoratör

Din kollega har jobbat på en dekoratör som skriver ut ett "before"-meddelande innan den dekorerade funktionen anropas och ett "after"-meddelande efteråt. De har svårt att komma ihåg hur inpackningen av den dekorerade funktionen ska gå till. Hjälp dem på traven genom att slutföra deras print_before_and_after()-dekoratör.

Den här övningen är en del av kursen

Att skriva funktioner i Python

Visa kurs

Övningsinstruktioner

  • Anropa funktionen som dekoreras och skicka med positionsargumenten *args.
  • Returnera den nya dekorerade funktionen.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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)
Redigera och kör kod