LoslegenKostenlos loslegen

Funktionen taggen

Etwas zu taggen bedeutet, diesem Objekt ein oder mehrere Strings als Labels zuzuweisen. Wir taggen zum Beispiel oft E-Mails oder Fotos, damit wir sie später finden können. Du hast dich entschieden, einen Decorator zu schreiben, mit dem du deine Funktionen mit einer beliebigen Liste von Tags versehen kannst. Diese Tags kannst du für vieles nutzen:

  • Hinzufügen von Informationen darüber, wer an der Funktion gearbeitet hat, damit Nutzer nachschauen können, wen sie bei Problemen fragen.
  • Funktionen als „experimentell“ kennzeichnen, damit Nutzer wissen, dass sich Eingaben und Ausgaben in Zukunft ändern könnten.
  • Funktionen markieren, die du in einer zukünftigen Version des Codes entfernen willst.
  • usw.

Diese Übung ist Teil des Kurses

Funktionen in Python schreiben

Kurs anzeigen

Anleitung zur Übung

  • Definiere einen neuen Decorator namens decorator(), der zurückgegeben werden soll.
  • Stelle sicher, dass die dekorierte Funktion ihre Metadaten behält.
  • Rufe die zu dekorierende Funktion auf und gib das Ergebnis zurück.
  • Gib den neuen Decorator zurück.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

def tag(*tags):
  # Define a new decorator, named "decorator", to return
  def ____(____):
    # Ensure the decorated function keeps its metadata
    @____(____)
    def wrapper(*args, **kwargs):
      # Call the function being decorated and return the result
      return ____(____, ____)
    wrapper.tags = tags
    return wrapper
  # Return the new decorator
  return ____

@tag('test', 'this is a tag')
def foo():
  pass

print(foo.tags)
Code bearbeiten und ausführen