Erste SchritteKostenlos loslegen

Definieren eines Dekorators

Dein Freund hat an einem Dekorator gearbeitet, der eine "Vorher"-Meldung ausgibt, bevor die dekorierte Funktion aufgerufen wird, und eine "Nachher"-Meldung ausgibt, nachdem die dekorierte Funktion aufgerufen wurde. Sie haben Schwierigkeiten, sich daran zu erinnern, wie das Einpacken der dekorierten Funktion funktionieren soll. Hilf ihnen dabei, indem du ihren print_before_and_after() Dekorateur fertigstellst.

Diese Übung ist Teil des Kurses

Funktionen in Python schreiben

Kurs anzeigen

Anleitung zur Übung

  • Rufe die zu dekorierende Funktion auf und übergebe ihr die Positionsargumente *args.
  • Gib die neue dekorierte Funktion zurück.

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

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)
Bearbeiten und Ausführen von Code