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
Ö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)