ПочатиПочніть безкоштовно

Додайте теги до своїх функцій

Додавання тегів означає, що ви призначаєте об'єкту один або кілька рядків, які слугують мітками. Наприклад, ми часто тегуємо електронні листи чи фото, щоб потім легше їх шукати. Ви вирішили написати декоратор, який дозволить додавати до ваших функцій довільний список тегів. Ці теги можна використати для багатьох завдань:

  • Додавання інформації про те, хто працював над функцією, щоб користувач знав, до кого звернутися у разі проблем із її використанням.
  • Позначення функцій як «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)
Редагувати та запускати код