LoslegenKostenlos loslegen

Markiere deine Funktionen

Etwas zu markieren bedeutet, dass du diesem Ding eine oder mehrere Zeichenketten gegeben hast, die als Etiketten dienen. Zum Beispiel markieren wir oft E-Mails oder Fotos, damit wir später danach suchen können. Du hast beschlossen, einen Dekorator zu schreiben, mit dem du deine Funktionen mit einer beliebigen Liste von Tags versehen kannst. Du kannst diese Tags für viele Dinge verwenden:

  • Hinzufügen von Informationen darüber, wer an der Funktion gearbeitet hat, damit ein/e Nutzer/in nachschauen kann, wen er/sie fragen kann, wenn er/sie Probleme mit der Funktion hat.
  • Kennzeichne Funktionen als "experimentell", damit die Nutzer wissen, dass sich die Ein- und Ausgaben in Zukunft ändern können.
  • Markiere alle Funktionen, die du in einer zukünftigen Version des Codes entfernen willst.
  • Etc.

Diese Übung ist Teil des Kurses

Funktionen in Python schreiben

Kurs anzeigen

Anleitung zur Übung

  • Definiere einen neuen Dekorator mit dem Namen decorator(), der zurückgegeben wird.
  • Stelle sicher, dass die dekorierte Funktion ihre Metadaten behält.
  • Rufe die Funktion, die dekoriert werden soll, auf und gib das Ergebnis zurück.
  • Gib den neuen Dekorator zurück.

Interaktive Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

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