Додайте теги до своїх функцій
Додавання тегів означає, що ви призначаєте об'єкту один або кілька рядків, які слугують мітками. Наприклад, ми часто тегуємо електронні листи чи фото, щоб потім легше їх шукати. Ви вирішили написати декоратор, який дозволить додавати до ваших функцій довільний список тегів. Ці теги можна використати для багатьох завдань:
- Додавання інформації про те, хто працював над функцією, щоб користувач знав, до кого звернутися у разі проблем із її використанням.
- Позначення функцій як «experimental», щоб користувачі розуміли, що в майбутньому вхідні дані та результати можуть змінюватися.
- Маркування будь-яких функцій, які ви плануєте вилучити у наступних версіях коду.
- Тощо.
Ця вправа є частиною курсу
Написання функцій у Python
Інструкції до вправи
- Визначте новий декоратор з іменем
decorator()для повернення. - Забезпечте збереження метаданих задекорованої функції.
- Викличте функцію, що декорується, і поверніть результат.
- Поверніть новий декоратор.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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)