开始使用免费开始使用

定义一个装饰器

您的同事正在编写一个装饰器:在被装饰的函数调用前打印一条 "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)
编辑并运行代码