Scope of variables in Python in hindi- Python में Variable Scope क्या होता है 

  • Python, में variable scope का मतलब प्रोग्राम का वह क्षेत्र जहां पर से एक variable का उपयोग किया जा सकता है। 
  • जब आप एक वेरिएबल का निर्माण करते हो तो इसका संबंध code के एक विशिष्ट भाग से होता है, यह भाग उसका scope कहलाता है। 
  • यदि आप वेरिएबल को उसके scope के बाहर उपयोग करने का प्रयास करते हैं तो पायथन उसे नहीं पहचानेगा और एक error देगा।
  • Scope यह तय करता है कि कोई variable कहाँ काम करेगा। 
  • Scope इसलिए जरूरी है ताकि एक जैसे नाम वाले variables आपस में न मिलें और गलती न हो।
  • गलतियों से बचने और वेरिएबल को सही ढंग से मैनेज करने के लिए स्कोप के बारे में जानना महत्वपूर्ण है।
 
python scope variable

हमे Python में Scope की जरुरत क्यों होती है?

Python में scope की जरूरत इसलिए होती है ताकि यह तय किया जा सके कि कोई वेरिएबल प्रोग्राम में कहां काम करेगा। 

यह प्रोग्राम को यह जानने में मदद करता है की कौन सा वेरिएबल code के कौन से हिस्से से संबंधित है। 
यदि स्कोप नहीं होगा तो सामान नाम वाले वेरिएबल भ्रम या गलतियों को पैदा कर सकते हैं। 

सही स्कोप के साथ प्रत्येक वेरिएबल अपने ही क्षेत्र में कार्य करते हैं। यह code को साफ, समझने में आसान और अचानक होने वाली गलतियां से सुरक्षित रखता है। 

Scope, Python को यह समझने में मदद करता है कि जब अलग-अलग हिस्सों में एक जैसे नाम के वेरिएबल हों, तो कौन सा वेरिएबल इस्तेमाल करना है।


Types of scope in Python in Hindi - Python में Scope के प्रकार

Python में निम्न प्रकार के स्कोप होते हैं।
1. Local Scope
2. Enclosing Scope
3. Global Scope
4. Built-in Scope


Local Scope

  • Local scope, का मतलब एक वेरिएबल को फंक्शन के अंदर बनाया और उपयोग किया जाता है। 
  • यह केवल उस फंक्शन के अंदर कार्य करता है। 
  • Python, इसे बाहर उपयोग नहीं कर सकता है । 
  • यह वैरियेबल्स को बाकी कोड से सुरक्षित और अलग बनाए रखता है। 
  • जब फ़ंक्शन Run होता है, तो वेरिएबल मौजूद होता है। 
  • जब फ़ंक्शन खत्म होता है, तो उसका वेरिएबल भी हट जाता है और काम नहीं करता।

Example:
def show_age():
    age = 25 # local variable
    print("Age is", age)
show_age()
print(age) # This will give an error
Output:
Age is 25
NameError: name 'age' is not defined
   
Explanation:
age, show_age() function के लिए एक local variable है। इसे फंक्शन के बाहर एक्सेस नहीं किया जा सकता और ऐसा करने पर एरर आता है।


Global Scope

  • Global scope, का मतलब एक वेरिएबल को सभी functions के बाहर परिभाषित किया जाता है। 
  • इसे प्रोग्राम में कहीं भी उपयोग किया जा सकता हैं फंक्शन के अंदर भी। 
  • Python, global variables को कोड के शीर्ष स्तर से पढ़ता है। 
  • यदि आप एक ग्लोबल वेरिएबल को फंक्शन के अंदर बदलना चाहते हैं तो आपको अवश्य ही इस कार्य के लिए ' global` keyword का उपयोग करना होता है। 

Example:
a = 15 # Global variable
def show():
    print(a) # Can access global variable
show()
Output:
10
 
 

Enclosing Scope

  • Enclosing scope, का उपयोग nested functions में किया जाता है। 
  • जब एक फंक्शन के अंदर, अन्य फंक्शन होते हैं तब अंदर वाला फंक्शन बाहर वाले फंक्शन के वैरियेबल्स का उपयोग कर सकता है 
  • ये variables, local या global नहीं होते। यदि variable आंतरिक फ़ंक्शन में नहीं मिलता है तो पायथन उसे बाहरी फ़ंक्शन में खोजता है। 
  • यह आंतरिक और बाहरी फंक्शन कोड को जोड़ने में मदद करता है।
Example:
def outerfunction():
    a = 15
    def innerfunction():
        print(a + 10)
    inner()
outer()
Output:
25

Explanation:
x वेरिएबल, innerfunction (), के भीतर नहीं है इसलिए Python इसे outerfunction() में देखता है।


Built-in Scope

  • Built-in scope में Python के पहले से बने नाम और functions होते हैं जैसे print(), len(), और range()। 
  • इन्हें हम सीधे इस्तेमाल कर सकते हैं।
  • ये प्रोग्राम की प्रत्येक भाग में बिना परिभाषित किए उपलब्ध रहते हैं। की जरूरत नहीं होती। 
  • Python यह built-in सपोर्ट अपने आप देता है।
  • यह बड़ा स्तर है। 
  • Python, इसे अंत में चेक करता है जब उसे local, enclosing, या global scope में वेरिएबल नहीं मिलता।

Example:
numbers = [10, 5, 20]
print(max(numbers))
Output:
20
 

Explanation:
max() एक built-in function है। यह list से सबसे बड़ी वैल्यू को देता है। ये functions , Python के built-in scope के हिस्से है। आपको इन फंक्शन को डिफाइन करने की जरूरत नहीं। 


LEGB Rule क्या है (Local, Enclosing, Global, Built-in)

Python में LEGB Rule, उस क्रम को दिखाता है जिस क्रम से Python एक variable को ढूंढता है। इसका पूरा नाम Local, Enclosing, Global, और Built-in है । 

पहले, Python, variable के लिए local scope (current function के अंदर) की जांच करता है। यदि नहीं मिलता तो वह enclosing function (यदि functions nested है) में देखता है। 

इसके बाद वह global scope ( script का top-level) में देखता है। अंत में वह built-in scope (default Python functions) को check करता है। 

यह rule, पाइथन को यह जानने में मदद करता है कि जब एक वेरिएबल को बुलाया जाता है तो कौन से वैल्यू का उपयोग किया जाना है। 


Differences between Local and Global Scope in Python in Hindi 

1.Local scope:
इसका मतलब इसे एक function के अंदर डिक्लेयर किया जाता है। 
Global scope:
इसका मतलब इसे सभी functions के बाहर डिक्लेयर किया जाता है। 

2.Local variables:
इसे केवल फंक्शन के अंदर ही एक्सेस किया जाता है जहां उसे डिफाइन किया गया है। 
Global variables:
इसे प्रोग्राम में कहीं से भी एक्सेस किया जाता है। 

3.Local variables:
जब तक फंक्शन चलते रहता है तब तक यह वेरिएबल मौजूद रहता है। 
Global variables:
जब तक प्रोग्राम चलते रहता है यह मौजूद रहता है। 

4.Local variables:
इसे Function memory में store किया जाता है।
Global variables:
इसे global memory space में store किया जाता है।

5.Local variables:
इसे फंक्शन के अंदर स्वतंत्रता पूर्वक बदला जा सकता है। 
Global variables:
इसे फंक्शन के अंदर बदलने के लिए `global` keyword की आवश्यकता होती है। 

6. Local variables:
इसका उपयोग फंक्शन के अंदर अस्थाई तथा अल्पकालिक कार्य के लिए होता है। 
Global variables:
इसका उपयोग तब किया जाता है जब एक से अधिक कार्यों में मानों की आवश्यकता होती है।
 
`; } }); //]]>