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

Python में Namespace क्या है?


Python में Namespace

Namespace Scope को Implement करने का एक तरीका है। Python में, प्रत्येक Package, Module, Class, Function और Method Function का अपना एक "Namespace" होता है जिसमें Variable Names Resolve होते हैं। जब कोई Function, Module या Package Evaluate होता है (यानी Execution शुरू होता है), तो एक Namespace Create होता है। इसे "Evaluation Context" के रूप में सोचें। जब कोई Function, आदि, Execution समाप्त करता है, तो Namespace Drop हो जाता है। Variables Drop हो जाते हैं। साथ ही एक Global Namespace होता है जिसका उपयोग तब किया जाता है जब Name Local Namespace में नहीं होता।

प्रत्येक Variable Name को पहले Local Namespace (Function का Body, Module, आदि) में Check किया जाता है, और फिर Global Namespace में Check किया जाता है।

Variables आमतौर पर केवल Local Namespace में Create किए जाते हैं। global और nonlocal Statements Variables को Local Namespace के अलावा अन्य Namespaces में Create कर सकते हैं।

Namespace Types:

  • Built-in Namespace: Python Startup पर Create होता है, Built-in Functions/Exceptions रखता है (print, len, Exception, आदि)
  • Global Namespace: Module Level पर Create होता है, Module के Lifetime तक रहता है
  • Local Namespace: Function Call पर Create होता है, Function Return होने पर Destroy हो जाता है
  • Enclosing Namespace: Nested Functions के लिए

Namespace Access:

# Built-in Namespace Access
import builtins
print(dir(builtins))

# Global Namespace Access
print(globals())

# Local Namespace Access
def func():
    local_var = 10
    print(locals())

func()

Namespace Dictionaries:

Python में Namespaces को Internally Dictionaries के रूप में Implement किया जाता है जहां Keys Variable Names होते हैं और Values Objects होते हैं।

Practical Example:

# Global Namespace
counter = 0

def increment():
    # Local Namespace - यह नया Local Variable बनाता है!
    counter = 1
    print(f"Local: {counter}")

def increment_global():
    global counter  # Global Namespace का Reference
    counter += 1
    print(f"Global: {counter}")

increment()        # Local: 1 (Global Unchanged)
increment_global() # Global: 1
increment_global() # Global: 2

  1. - पायथन में filter() क्या है?

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

  1. पायथन में issubset() फंक्शन पायथन में issubset() फंक्शन

    इस लेख में, हम पायथन स्टैंडर्ड लाइब्रेरी में उपलब्ध issubset() फंक्शन के कार्यान्वयन और उपयोग के बारे में जानेंगे।issubset() मेथड बूलियन True वापस करता है जब एक सेट के सभी तत्व दूसरे सेट में मौजूद होते हैं (जिसे तर्क के रूप में पारित किया जाता है) अन्यथा, यह बूलियन False वापस करता है।नीचे दिए गए चित

  1. - पायथन फंक्शन एट्रिब्यूट्स क्या हैं?

    पायथन में सब कुछ एक ऑब्जेक्ट है, और लगभग हर चीज के एट्रिब्यूट्स और मेथड्स होते हैं। पायथन में, फंक्शन्स भी ऑब्जेक्ट्स हैं। इसलिए उनके पास अन्य ऑब्जेक्ट्स की तरह एट्रिब्यूट्स होते हैं। सभी फंक्शन्स में एक बिल्ट-इन एट्रिब्यूट __doc__ होता है, जो फंक्शन सोर्स कोड में परिभाषित डॉक स्ट्रिंग लौटाता है। हम