Определение декоратора
Ваш коллега работает над декоратором, который выводит сообщение «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)