पायथन स्कोप
एक वेरिएबल केवल उस क्षेत्र के अंदर से उपलब्ध होता है जिसे इसे बनाया गया है। इसे स्कोप कहा जाता है ।
स्थानीय दायरा
किसी फ़ंक्शन के अंदर बनाया गया एक चर उस फ़ंक्शन के स्थानीय दायरे से संबंधित होता है, और इसका उपयोग केवल उस फ़ंक्शन के अंदर ही किया जा सकता है।
उदाहरण
किसी फ़ंक्शन के अंदर बनाया गया एक चर उस फ़ंक्शन के अंदर उपलब्ध होता है:
def myfunc():
x = 300
print(x)
myfunc()
समारोह के अंदर समारोह
जैसा कि ऊपर के उदाहरण में बताया गया है, वेरिएबल x
फ़ंक्शन के बाहर उपलब्ध नहीं है, लेकिन यह फ़ंक्शन के अंदर किसी भी फ़ंक्शन के लिए उपलब्ध है:
उदाहरण
फ़ंक्शन के भीतर किसी फ़ंक्शन से स्थानीय चर का उपयोग किया जा सकता है:
def myfunc():
x = 300
def myinnerfunc():
print(x)
myinnerfunc()
myfunc()
वैश्विक कार्यक्षेत्र
पायथन कोड के मुख्य भाग में बनाया गया एक चर एक वैश्विक चर है और वैश्विक दायरे से संबंधित है।
वैश्विक चर, वैश्विक और स्थानीय किसी भी दायरे से उपलब्ध हैं।
उदाहरण
किसी फ़ंक्शन के बाहर बनाया गया एक चर वैश्विक है और इसका उपयोग कोई भी कर सकता है:
x = 300
def myfunc():
print(x)
myfunc()
print(x)
नामकरण चर
यदि आप किसी फ़ंक्शन के अंदर और बाहर एक ही चर नाम के साथ काम करते हैं, तो पायथन उन्हें दो अलग-अलग चर के रूप में मानेगा, एक वैश्विक दायरे में उपलब्ध है (फ़ंक्शन के बाहर) और एक स्थानीय दायरे में उपलब्ध है (फ़ंक्शन के अंदर):
उदाहरण
फ़ंक्शन स्थानीय प्रिंट करेगा x
, और फिर कोड वैश्विक प्रिंट करेगा x
:
x = 300
def myfunc():
x = 200
print(x)
myfunc()
print(x)
वैश्विक कीवर्ड
यदि आपको वैश्विक चर बनाने की आवश्यकता है, लेकिन स्थानीय दायरे में फंस गए हैं, तो आप
global
कीवर्ड का उपयोग कर सकते हैं।
global
कीवर्ड वैरिएबल को ग्लोबल बनाता है ।
उदाहरण
यदि आप global
कीवर्ड का उपयोग करते हैं, तो वेरिएबल वैश्विक दायरे से संबंधित है:
def myfunc():
global x
x = 300
myfunc()
print(x)
global
साथ ही, यदि आप किसी फ़ंक्शन के अंदर वैश्विक चर में परिवर्तन करना चाहते हैं तो कीवर्ड का उपयोग करें ।
उदाहरण
global
किसी फ़ंक्शन के अंदर वैश्विक चर के मान को बदलने के लिए, कीवर्ड का उपयोग करके चर का संदर्भ लें :
x = 300
def myfunc():
global x
x = 200
myfunc()
print(x)