शुरू करेंमुफ़्त में शुरू करें

timer() context manager

आपके एक सहयोगी Instagram फ़ोटो प्रोसेस करने वाली एक वेब सर्विस पर काम कर रहे हैं. ग्राहक शिकायत कर रहे हैं कि किसी इमेज में बिल्ली है या नहीं, यह पहचानने में सर्विस बहुत समय लेती है, इसलिए आपके सहयोगी मदद के लिए आपके पास आए हैं. आप एक context manager लिखने का निर्णय लेते हैं जिसे वे अपने फ़ंक्शंस के रन होने में लगने वाला समय मापने के लिए उपयोग कर सकें.

यह अभ्यास पाठ्यक्रम का हिस्सा है

Python में Functions लिखना

पाठ्यक्रम देखें

अभ्यास निर्देश

  • contextlib मॉड्यूल से एक डेकोरेटर timer() फ़ंक्शन में जोड़िए ताकि यह एक context manager की तरह काम करे.
  • timer() फ़ंक्शन से नियंत्रण context ब्लॉक में भेजिए.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# 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)
कोड संपादित करें और चलाएँ