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

रिटर्न टाइप प्रिंट करें

आप एक पैकेज डिबग कर रहे हैं जिस पर आप अपने दोस्तों के साथ काम कर रहे थे. आपके किसी फंक्शन से लौट रहे डेटा के साथ कुछ अजीब हो रहा है, लेकिन आपको यह भी नहीं पता कि दिक्कत किस फंक्शन से आ रही है. आपको पता है कि कभी-कभी बग तब घुस आते हैं जब आप उम्मीद करते हैं कि कोई फंक्शन एक तरह का मान लौटाएगा, और वह कुछ अलग लौटा देता है. उदाहरण के लिए, अगर आप उम्मीद करते हैं कि कोई फंक्शन एक numpy array लौटाएगा, लेकिन वह list लौटा दे, तो अनअपेक्षित व्यवहार हो सकता है. यह पक्का करने के लिए कि समस्या यही नहीं है, आप एक डेकोरेटर print_return_type() लिखने का फैसला करते हैं, जो किसी भी फंक्शन की हर कॉल से लौटने वाले वैरिएबल के टाइप को प्रिंट करेगा जिसे वह डेकोरेट कर रहा है.

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

Python में Functions लिखना

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

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

  • एक nested फंक्शन wrapper() बनाएँ, जो नया डेकोरेट किया गया फंक्शन बनेगा.
  • डेकोरेट किए जा रहे फंक्शन को कॉल करें.
  • नए डेकोरेट किए गए फंक्शन को रिटर्न करें.

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

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

def print_return_type(func):
  # Define wrapper(), the decorated function
  ____ ____(____, ____):
    # Call the function being decorated
    result = ____(____, ____)
    print('{}() returned type {}'.format(
      func.__name__, type(result)
    ))
    return result
  # Return the decorated function
  return ____
  
@print_return_type
def foo(value):
  return value
  
print(foo(42))
print(foo([1, 2, 3]))
print(foo({'a': 42}))
कोड संपादित करें और चलाएँ