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

पायथन नेमस्पेस को आसान तरीके से कैसे समझाएं?

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

सरल शब्दों में नेमस्पेस

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

इसके अलावा एक ग्लोबल नेमस्पेस भी होता है जिसका उपयोग तब किया जाता है जब नाम लोकल नेमस्पेस में नहीं मिलता।

नेमस्पेस लुकअप नियम

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

वेरिएबल निर्माण

वेरिएबल आमतौर पर केवल लोकल नेमस्पेस में बनाए जाते हैं। global और nonlocal स्टेटमेंट अन्य नेमस्पेस में वेरिएबल बना सकते हैं।

आसान उदाहरण

x = 10  # ग्लोबल नेमस्पेस

def func():
    y = 20  # लोकल नेमस्पेस
    print(x)  # ग्लोबल से x लेता है
    print(y)  # लोकल से y लेता है

func()

मुख्य बिंदु

  • नेमस्पेस = नाम → ऑब्जेक्ट का मैपिंग
  • लोकल, ग्लोबल, बिल्ट-इन नेमस्पेस होते हैं
  • LEGB नियम: Local → Enclosing → Global → Built-in
  1. - आप कैसे टेस्ट करते हैं कि पायथन फंक्शन एक एक्सेप्शन फेंकता है?

    हम एक यूनिट टेस्ट लिखते हैं जो केवल तभी फेल होता है जब फंक्शन अपेक्षित एक्सेप्शन नहीं फेंकता। हम यह भी टेस्ट करते हैं कि क्या पायथन फंक्शन एक्सेप्शन फेंकता है। उदाहरण के लिए, पायथन की टाइप-सेफ्टी को टेस्ट करने के लिए पायथन शेल में पेस्ट किए गए नमूना कोड को देखें: उदाहरण import unittest class MyTestC

  1. - पायथन में फंक्शन कैसे परिभाषित करें?

    फंक्शन कोड का एक टुकड़ा है जिसे नाम से बुलाया जाता है। इसे ऑपरेट करने के लिए डेटा पास किया जा सकता है (यानी पैरामीटर्स) और वैकल्पिक रूप से डेटा वापस कर सकता है (रिटर्न मान)। फंक्शन को पास किया गया सभी डेटा स्पष्ट रूप से पास किया जाता है। फंक्शन परिभाषित करने का सिंटैक्स: def function_name(): #do

  1. - पायथन में लैम्ब्डा फंक्शन का उपयोग कैसे करें?

    ये मूल रूप से रनटाइम पर बनाए गए अनाम वन-लाइन फंक्शन्स हैं जो फंक्शन्स के नाम से बाउंड नहीं होते। वे फंक्शन की परिभाषा को ऑन-द-फ्लाई लौटाते हैं। लैम्ब्डा फंक्शन्स में रिटर्न स्टेटमेंट नहीं होता, वे हमेशा एक एक्सप्रेशन लौटाते हैं। आप लैम्ब्डा परिभाषा को कहीं भी रख सकते हैं जहां फंक्शन की अपेक्षा हो। म