Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में नेमस्पेसेस और स्कोपिंग


वेरिएबल्स नाम (आइडेंटिफायर्स) हैं जो ऑब्जेक्ट्स से मैप होते हैं। एक नेमस्पेस वेरिएबल नामों (कीज़) और उनके संबंधित ऑब्जेक्ट्स (मानों) का डिक्शनरी है।

एक पायथन स्टेटमेंट लोकल नेमस्पेस और ग्लोबल नेमस्पेस में वेरिएबल्स को एक्सेस कर सकता है। यदि किसी लोकल और ग्लोबल वेरिएबल का नाम समान है, तो लोकल वेरिएबल ग्लोबल वेरिएबल को शैडो करता है।

प्रत्येक फ़ंक्शन का अपना लोकल नेमस्पेस होता है। क्लास मेथड्स सामान्य फ़ंक्शन्स के समान ही स्कोपिंग नियम का पालन करते हैं।

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

इसलिए, किसी फ़ंक्शन के भीतर एक ग्लोबल वेरिएबल को मान असाइन करने के लिए, आपको पहले global स्टेटमेंट का उपयोग करना होगा।

स्टेटमेंट global VarName पायथन को बताता है कि VarName एक ग्लोबल वेरिएबल है। पायथन उस वेरिएबल के लिए लोकल नेमस्पेस में खोज करना बंद कर देता है।

उदाहरण के लिए, हम ग्लोबल नेमस्पेस में एक वेरिएबल Money परिभाषित करते हैं। फ़ंक्शन Money के भीतर, हम Money को एक मान असाइन करते हैं, इसलिए पायथन Money को लोकल वेरिएबल मानता है। हालांकि, हमने इसे सेट करने से पहले लोकल वेरिएबल Money के मान को एक्सेस किया, इसलिए UnboundLocalError परिणाम है। global स्टेटमेंट को अनकमेंट करने से समस्या ठीक हो जाती है।

#!/usr/bin/python
Money = 2000
def AddMoney():
    # निम्न लाइन को अनकमेंट करके कोड ठीक करें:
    # global Money
    Money = Money + 1
    print Money

AddMoney()
print Money

  1. - Swift में ग्लोबल वेरिएबल कैसे बनाएं और उपयोग करें

    Apple डॉक्यूमेंट के अनुसार - ग्लोबल वेरिएबल्स वे वेरिएबल्स हैं जो किसी फंक्शन, मेथड, क्लोजर, या टाइप कॉन्टेक्स्ट के बाहर परिभाषित होते हैं। ग्लोबल वेरिएबल बनाना सीखने से पहले, आइए पूरी तरह से समझें कि वे क्या हैं। आंतरिक सर्कल के अंदर W पर विचार करें, वह आंतरिक सर्कल के अंदर की हर चीज तक पहुंच स

  1. - पायथन में ग्लोबल वेरिएबल कैसे घोषित करें

    ग्लोबल वेरिएबल क्या है? एक ग्लोबल वेरिएबल वह वेरिएबल है जो फंक्शन के बाहर घोषित किया जाता है लेकिन हमें इसे फंक्शन के अंदर उपयोग करने की आवश्यकता होती है। उदाहरण def func(): print(a) a = 10 func() आउटपुट 10 यहां, वेरिएबल a ग्लोबल है। चूंकि यह फंक्शन के बाहर घोषित है और फंक्शन के अंदर भी उपय

  1. पायथन में नेमस्पेस और स्कोप पायथन में नेमस्पेस और स्कोप

    पायथन में हम वेरिएबल्स, फ़ंक्शन्स, लाइब्रेरीज़ और मॉड्यूल्स आदि से निपटते हैं। इस बात की संभावना है कि जिस वेरिएबल नाम का आप उपयोग करने जा रहे हैं वह पहले से ही किसी अन्य वेरिएबल के नाम के रूप में या किसी अन्य फ़ंक्शन या मेथड के नाम के रूप में मौजूद है। ऐसे परिदृश्य में, हमें यह सीखने की आवश्यकता है