पायथन में स्कोप के साथ काम करने की बारीकियाँ
स्थानीय और वैश्विक चर के साथ काम करने की महत्वपूर्ण बारीकियों पर विचार करें।
मान लीजिए कि हमारे पास एक वैश्विक चर num है।
आइए एक फ़ंक्शन func बनाएं,
जो वैश्विक num को कंसोल में प्रिंट करेगा:
num = 1
def func():
print(num)
func() # 1 प्रिंट करेगा
और अब फ़ंक्शन print के नीचे वाली लाइन पर एक स्थानीय num घोषित करें।
कोड निष्पादित होने के बाद, कंसोल में एक त्रुटि दिखाई देगी।
ऐसा इसलिए होता है क्योंकि पायथन
फ़ंक्शन के अंदर num को केवल एक स्थानीय चर के रूप में समझता है, जिसे
अभी तक घोषित नहीं किया गया है:
num = 1
def func():
print(num) # त्रुटि दिखाएगा
num = 2
आइए अब फ़ंक्शन के अंदर का कोड इस तरह से फिर से लिखें
कि चर num का मान 2 से बढ़ जाए:
num = 1
def func():
num += 2 # त्रुटि दिखाएगा
त्रुटि इसलिए आई क्योंकि अभिव्यक्ति num += 2
निम्नलिखित रिकॉर्ड का प्रतिनिधित्व करती है:
num = num + 2
हालाँकि, वह स्थानीय चर जिसमें जोड़ा जा रहा है, अभी तक घोषित नहीं किया गया है। और तदनुसार पायथन त्रुटि दिखाता है, क्योंकि एक गैर-मौजूद मान में एक संख्या नहीं जोड़ी जा सकती है।
निम्नलिखित कोड निष्पादित करने का परिणाम क्या होगा:
tst = '12'
def func():
tst = 12
return tst
print(tst)
निम्नलिखित कोड निष्पादित करने का परिणाम क्या होगा:
tst = 'abc'
def func():
tst = tst.upper()
return tst
func()
print(tst)
निम्नलिखित कोड निष्पादित करने का परिणाम क्या होगा:
tst = 'abc'
def func():
txt = tst.upper()
return txt
print(func())
print(tst)