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

Nested Functions II

शानदार काम, आपने अभी एक फंक्शन के भीतर दूसरा फंक्शन nest किया है. फंक्शन्स को nest करने का एक और बढ़िया कारण है closure का विचार. इसका मतलब है कि nested या inner फंक्शन कॉल होने पर अपने enclosing scope की स्थिति को याद रखता है. इसलिए, enclosing scope में स्थानीय रूप से परिभाषित कोई भी चीज़ outer फंक्शन के execution खत्म होने के बाद भी inner फंक्शन को उपलब्ध रहती है.

चलिए आगे बढ़ते हैं! इस अभ्यास में, आप inner फंक्शन inner_echo() की परिभाषा पूरी करेंगे और फिर echo() को दो-तीन बार अलग-अलग आर्ग्युमेंट के साथ कॉल करेंगे. अभ्यास पूरा कीजिए और देखें आउटपुट क्या आता है!

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

Python में Functions का परिचय

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

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

  • inner फंक्शन के हेडर को फंक्शन नाम inner_echo() और एकल पैरामीटर word1 के साथ पूरा करें.
  • फंक्शन echo() को इस तरह पूरा करें कि वह inner_echo को return करे.
  • हमने echo() को आर्ग्युमेंट के रूप में 2 देकर कॉल किया है और प्राप्त फंक्शन को twice में असाइन किया है. अब आपकी बारी है: echo() को आर्ग्युमेंट 3 के साथ कॉल करें. प्राप्त फंक्शन को thrice में असाइन करें.
  • परिणाम प्रिंट करने के लिए twice() और thrice() को कॉल किया जाएगा, बस "उत्तर सबमिट करें" दबाएँ.

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

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

# Define echo
def echo(n):
    """Return the inner_echo function."""

    # Define inner_echo
    def ____(____):
        """Concatenate n copies of word1."""
        echo_word = word1 * n
        return echo_word

    # Return inner_echo
    

# Call echo: twice
twice = echo(2)

# Call echo: thrice


# Call twice() and thrice() then print
print(twice('hello'), thrice('hello'))
कोड संपादित करें और चलाएँ