timer() 컨텍스트 매니저
당신의 동료가 Instagram 사진을 처리하는 웹 서비스를 개발하고 있어요. 이미지에 고양이가 있는지 판별하는 데 시간이 너무 오래 걸린다는 고객의 불만이 있어, 동료가 도움을 요청했습니다. 동료가 함수 실행 시간을 측정할 수 있도록, 컨텍스트 매니저를 하나 작성하기로 했어요.
이 연습은 강의의 일부입니다
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)