开始使用免费开始使用

timer() 环境管理器

您的同事在开发一个处理 Instagram 照片的 Web 服务。客户抱怨该服务判断图片中是否有猫耗时过长,因此同事请您帮忙。您决定编写一个环境管理器,方便他们统计函数的运行时长。

本练习是课程的一部分

Python 函数编写

查看课程

练习说明

  • contextlib 模块为 timer() 函数添加一个装饰器,使其充当环境管理器。
  • 将控制权从 timer() 函数交给上下文代码块。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Add a decorator that will make timer() a context manager
@contextlib.____
def timer():
  """Time the execution of a context block.

  Yields:
    None
  """
  start = time.time()
  # Send control back to the context block
  ____
  end = time.time()
  print('Elapsed: {:.2f}s'.format(end - start))

with timer():
  print('This should take approximately 0.25 seconds')
  time.sleep(0.25)
编辑并运行代码