Bắt đầu ngayBắt đầu miễn phí

Context manager timer()

Một đồng nghiệp của bạn đang phát triển dịch vụ web xử lý ảnh Instagram. Khách hàng phàn nàn rằng dịch vụ mất quá nhiều thời gian để xác định một ảnh có mèo hay không, nên đồng nghiệp đã nhờ bạn hỗ trợ. Bạn quyết định viết một context manager để họ có thể đo thời gian chạy của các hàm của mình.

Bài tập này là một phần của khóa học

Viết hàm trong Python

Xem khóa học

Hướng dẫn bài tập

  • Thêm một decorator từ module contextlib vào hàm timer() để nó hoạt động như một context manager.
  • Chuyển quyền điều khiển từ hàm timer() sang khối ngữ cảnh.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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)
Chỉnh sửa và Chạy Mã