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

Визначення декоратора

Ваш колега працює над декоратором, який виводить повідомлення «before» до виклику декорованої функції та повідомлення «after» після її виклику. Вони ніяк не згадають, як саме має працювати обгортання декорованої функції. Допоможіть їм, дописавши декоратор print_before_and_after().

Ця вправа є частиною курсу

Написання функцій у Python

Переглянути курс

Інструкції до вправи

  • Викличте функцію, яку декорують, і передайте їй позиційні аргументи *args.
  • Поверніть нову декоровану функцію.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

def print_before_and_after(func):
  def wrapper(*args):
    print('Before {}'.format(func.__name__))
    # Call the function being decorated with *args
    ____(*args)
    print('After {}'.format(func.__name__))
  # Return the nested function
  return ____

@print_before_and_after
def multiply(a, b):
  print(a * b)

multiply(5, 10)
Редагувати та запускати код