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

कीवर्ड nonlocal और nested functions

आइए एक बार फिर scope पर आपकी पकड़ को और मजबूत करें! इस अभ्यास में, आप एक nested function के भीतर nonlocal कीवर्ड का उपयोग करेंगे ताकि enclosing scope में परिभाषित एक वैरिएबल के मान को बदला जा सके.

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

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

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

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

  • echo_word को string word असाइन करें, जो स्वयं से concatenated हो.
  • enclosing scope में echo_word के मान को बदलने के लिए nonlocal कीवर्ड का उपयोग करें.
  • echo_word को '!!!' के साथ concatenated करके बदलें.
  • फंक्शन echo_shout() को कॉल करें और उसे एक आर्ग्युमेंट 'hello' पास करें.

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

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

# Define echo_shout()
def echo_shout(word):
    """Change the value of a nonlocal variable"""
    
    # Concatenate word with itself: echo_word
    ____
    
    # Print echo_word
    print(echo_word)
    
    # Define inner function shout()
    def shout():
        """Alter a variable in the enclosing scope"""    
        # Use echo_word in nonlocal scope
        ____
        
        # Change echo_word to echo_word concatenated with '!!!'
        echo_word = ____
    
    # Call function shout()
    shout()
    
    # Print echo_word
    print(echo_word)

# Call function echo_shout() with argument 'hello'
____
कोड संपादित करें और चलाएँ