वैश्विक चर क्या है?
ग्लोबल वेरिएबल एक वेरिएबल है जिसे फंक्शन के बाहर घोषित किया जाता है लेकिन हमें इसे फंक्शन के अंदर उपयोग करने की आवश्यकता होती है।
उदाहरण
def func(): print(a) a=10 func()
आउटपुट
10
यहाँ, चर a वैश्विक है। चूंकि इसे फ़ंक्शन के बाहर घोषित किया जाता है और फ़ंक्शन के अंदर भी इसका उपयोग किया जा सकता है। इसलिए चर a का दायरा वैश्विक है।
हम देखेंगे कि क्या होता है यदि हम फ़ंक्शन के अंदर वैश्विक चर के समान नाम का एक चर बनाते हैं।
उपरोक्त उदाहरण में, चर a को फ़ंक्शन के बाहर घोषित किया गया है और इसलिए यह वैश्विक है।
यदि हम फ़ंक्शन के अंदर समान नाम के साथ किसी अन्य वेरिएबल को किसी अन्य मान के साथ घोषित करते हैं। वह चर फ़ंक्शन के स्थानीय चर के रूप में कार्य करेगा और इसका दायरा फ़ंक्शन के अंदर तक ही सीमित रहेगा। फ़ंक्शन के बाहर, वैश्विक चर अपना मूल मान रखेगा।
इसे एक उदाहरण की मदद से बेहतर ढंग से समझा जा सकता है।
उदाहरण
a=10 def func(): a=5 print("Inside function:",a) func() print("Outside function:",a)
आउटपुट
Inside function: 5 Outside function: 10
उपरोक्त उदाहरण में, a वैश्विक चर है जिसका मान 10 है। बाद में func() कहा जाता है।
func() के अंदर, एक और चर a को अलग-अलग मान के साथ घोषित किया जाता है जिसका दायरा केवल फ़ंक्शन के अंदर तक ही सीमित होता है। इसलिए, जब फ़ंक्शन के बाहर a का मान बाद में प्रिंट किया जाता है, तो इसका मूल मान वैश्विक चर के समान होता है जो 10.
कीवर्ड:वैश्विक
वैश्विक कीवर्ड का उपयोग तब किया जाता है जब आपको किसी फ़ंक्शन के अंदर वैश्विक चर घोषित करने की आवश्यकता होती है।
फ़ंक्शन के अंदर घोषित सामान्य चर का दायरा केवल फ़ंक्शन के अंत तक होता है।
हालाँकि, यदि आप फ़ंक्शन के बाहर भी चर का उपयोग करना चाहते हैं, तो चर घोषित करते समय वैश्विक कीवर्ड का उपयोग करें।
उदाहरण कार्यान्वयन की सहायता से दोनों के बीच के अंतर को समझें।
उदाहरण
def func(): a=5 print("Inside function:",a) func() print("Outside function:",a)
आउटपुट
Inside function: 5 Traceback (most recent call last): print("Outside function:",a) NameError: name 'a' is not defined
उपरोक्त उदाहरण में, फ़ंक्शन के बाहर a का मान एक्सेस नहीं किया जा सकता है, क्योंकि यह एक स्थानीय चर है। इस प्रकार, किसी बाहरी फ़ंक्शन के मान तक पहुँचने से एक अपवाद उत्पन्न होता है।
वैश्विक कीवर्ड का उपयोग करें
उपरोक्त उदाहरण में उठाए गए अपवाद को हल किया जा सकता है यदि हम वैरिएबल को वैश्विक कीवर्ड का उपयोग करके घोषित करते हैं।
उदाहरण
def func(): global a a=5 print("Inside function:",a) func() print("Outside function:",a)
आउटपुट
Inside function: 5 Outside function: 5
उपरोक्त उदाहरण में, चर a वैश्विक है और इसलिए इसका मान फ़ंक्शन के बाहर भी पहुँचा जा सकता है।