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)