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

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

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

नाम स्थान की तीन श्रेणियां निम्नलिखित हैं

  • लोकल नेमस्पेस:किसी प्रोग्राम द्वारा घोषित फंक्शन्स और वेरिएबल्स के सभी नाम इस नेमस्पेस में रखे जाते हैं। यह नाम स्थान तब तक मौजूद रहता है जब तक प्रोग्राम चलता है।

  • ग्लोबल नेमस्पेस:इस नेमस्पेस में फंक्शन्स और अन्य वेरिएबल्स के सभी नाम होते हैं जो कि पायथन प्रोग्राम में उपयोग किए जा रहे मॉड्यूल में शामिल होते हैं। इसमें वे सभी नाम शामिल हैं जो स्थानीय नाम स्थान का हिस्सा हैं।

  • बिल्ट-इन नेमस्पेस:यह नेमस्पेस का उच्चतम स्तर है जो कि पाइथन दुभाषिया के हिस्से के रूप में उपलब्ध डिफ़ॉल्ट नामों के साथ उपलब्ध है जो प्रोग्रामिंग वातावरण के रूप में लोड किया गया है। इसमें ग्लोबल नेमस्पेस शामिल है जो बदले में स्थानीय नेमस्पेस को शामिल करता है।

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

पायथन में दायरा

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

उदाहरण

prog_var = 'Hello'
def outer_func():
   outer_var = 'x'
   def inner_func():
      inner_var = 'y'
      print(dir(), ' Local Variable in Inner function')

      inner_func()
      print(dir(), 'Local variables in outer function')

      outer_func()
      print(dir(), 'Global variables ')

उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -

आउटपुट

['inner_var'] Local Variable in Inner function
['inner_func', 'outer_var'] Local variables in outer function
['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'outer_func', 'prog_var'] Global variables

  1. पायथन नेमस्पेस और एक वेरिएबल का दायरा समझाएं।

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

  1. पायथन में नेमस्पेस क्या है?

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

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

    पायथन में वेरिएबल बनाने और उनका उपयोग करने के बारे में एक गाइड। पायथन वैरिएबल चर नामित स्थान हैं जिनका उपयोग स्मृति में संग्रहीत वस्तु के संदर्भों को संग्रहीत करने के लिए किया जाता है। जब हम पायथन में वेरिएबल बनाते हैं, तो हमें निम्नलिखित नियमों पर विचार करना चाहिए: एक चर नाम एक अक्षर या अंडरस्को