"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > फ़ंक्शन कॉल ग्लोबल वेरिएबल को अपडेट क्यों नहीं करता है?

फ़ंक्शन कॉल ग्लोबल वेरिएबल को अपडेट क्यों नहीं करता है?

2024-11-01 को प्रकाशित
ब्राउज़ करें:474

Why Does Function Call Not Update Global Variable?

फंक्शन कॉल ग्लोबल वेरिएबल को अपडेट नहीं करता है

यह प्रश्न एक प्रोग्रामिंग चुनौती का पता लगाता है जहां एक ग्लोबल वेरिएबल, जिसे शुरू में गलत के रूप में निर्दिष्ट किया गया था, ' किसी फ़ंक्शन के भीतर संदर्भित होने पर इसे अद्यतन किया जा रहा है। फ़ंक्शन द्वारा वैश्विक चर के मान को बदलने के बावजूद, मुख्य प्रोग्राम का लूप निष्पादित होता रहता है, जिससे एक अनंत लूप बन जाता है। इस मुद्दे को समझने के लिए नेमस्पेस और वेरिएबल स्कोपिंग की अवधारणा को समझने की आवश्यकता है।

नेमस्पेस और वेरिएबल स्कोप

प्रोग्रामिंग में, प्रत्येक फ़ंक्शन और मॉड्यूल अपना नेमस्पेस बनाता है। नेमस्पेस उन नामों (चर, फ़ंक्शंस इत्यादि) का एक संग्रह है जो उस दायरे में ज्ञात और पहुंच योग्य हैं। जब एक वेरिएबल को किसी फ़ंक्शन के अंदर एक मान निर्दिष्ट किया जाता है, तो फ़ंक्शन के नेमस्पेस में एक नया वेरिएबल बनाया जाता है, भले ही समान नाम वाला एक ग्लोबल वेरिएबल मौजूद हो।

ग्लोबल वेरिएबल्स का उपयोग करना

इस मामले में, जब फ़ंक्शन के भीतर "किया गया" नामक एक वैश्विक चर को संदर्भित किया जाता है, तो फ़ंक्शन के नामस्थान में उसी नाम के साथ एक नया स्थानीय चर बनाया जाता है। यह स्थानीय "किया गया" वैश्विक "किया गया" से अलग है। स्थानीय "किया गया" को बदलने से वैश्विक चर पर कोई प्रभाव नहीं पड़ता है। समारोह. ग्लोबल डन का उपयोग करके, फ़ंक्शन दुभाषिया को एक नया स्थानीय बनाने के बजाय ग्लोबल "डन" वेरिएबल तक पहुंचने के लिए कहता है।

संशोधित कोड

समस्या को ठीक करने के लिए , फ़ंक्शन को निम्नानुसार संशोधित किया जा सकता है:

def function(): वैश्विक हो गया पाश के लिए: कोड यदि अनुपालन नहीं किया जाए: किया = सत्य

स्पष्टीकरण

def function():
    global done
    for loop:
        code
        if not comply:
            done = True
विज्ञप्ति वक्तव्य यह लेख यहां पुनर्मुद्रित है: 1729310358 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.कॉम से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3