Kom igångKom igång gratis

Tagga dina funktioner

Att tagga något innebär att du tilldelar det en eller flera strängar som fungerar som etiketter. Vi taggar till exempel ofta e-post eller foton för att kunna söka efter dem senare. Du har bestämt dig för att skriva en dekorator som låter dig tagga dina funktioner med en godtycklig lista av taggar. Du kan använda dessa taggar till många saker:

  • Lägga till information om vem som har arbetat med funktionen, så att en användare vet vem de ska fråga om de stöter på problem.
  • Märka funktioner som "experimentella" så att användare vet att in- och utdata kan komma att förändras i framtiden.
  • Markera funktioner som du planerar att ta bort i en framtida version av koden.
  • Osv.

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

Att skriva funktioner i Python

Visa kurs

Övningsinstruktioner

  • Definiera en ny dekorator med namnet decorator() att returnera.
  • Se till att den dekorerade funktionen behåller sin metadata.
  • Anropa den funktion som dekoreras och returnera resultatet.
  • Returnera den nya dekoratorn.

Interaktiv övning med praktiskt arbete

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

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