एक पायथन कार्यक्रम में विभिन्न चरों का अलग-अलग दायरा होता है। यह कहां घोषित किया गया है, इस पर निर्भर करते हुए, चर किसी फ़ंक्शन के अंदर पहुंच योग्य हो भी सकता है और नहीं भी। कभी-कभी हमें एक वेरिएबल को संशोधित करने की आवश्यकता होगी जो किसी फ़ंक्शन के अंदर उसके वर्तमान दायरे से बाहर मौजूद है। ऐसे में हम वैरिएबल नाम के साथ ग्लोबल कीवर्ड का इस्तेमाल करते हैं।
वैश्विक कीवर्ड के बारे में मुख्य बिंदु निम्नलिखित हैं
-
किसी फ़ंक्शन के बाहर घोषित वैरिएबल डिफ़ॉल्ट रूप से एक वैश्विक वैरिएबल होता है।
-
हम एक वैश्विक कीवर्ड का उपयोग एक वैरिएबल के लिए करते हैं जो एक फ़ंक्शन के अंदर होता है ताकि इसे संशोधित किया जा सके।
-
वैश्विक कीवर्ड के बिना, फ़ंक्शन के अंदर का चर डिफ़ॉल्ट रूप से स्थानीय होता है।
वैश्विक के बिना
नीचे दिए गए उदाहरणों में हम देखेंगे कि वैश्विक कीवर्ड के बिना परिवर्तनशील परिवर्तन कैसे होता है। इससे हमें यह समझने में मदद मिलेगी कि अगले प्रोग्राम में ग्लोबल कीवर्ड क्या फर्क करता है। नीचे दिए गए उदाहरण में हम फ़ंक्शन के अंदर वैश्विक चर को संशोधित करने का प्रयास करते हैं। लेकिन एक त्रुटि उत्पन्न होती है क्योंकि हम किसी फ़ंक्शन के अंदर वैश्विक चर को संशोधित नहीं कर सकते हैं।
उदाहरण
var = 321 # function to modify the variable def modify(): var = var * 2 print(var) # calling the function modify()
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
UnboundLocalError: local variable 'var' referenced before assignment
ग्लोबल के साथ
अब हम ग्लोबल कीवर्ड के साथ फंक्शन के अंदर वेरिएबल घोषित करते हैं। यह चर को परिवर्तनीय बनाता है।
उदाहरण
var = 321 # function to modify the variable def modify(): global var var = var * 2 print(var) # calling the function modify()
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
642
नेस्टेड फ़ंक्शंस के भीतर वैश्विक
अगर हमें नेस्टेड फंक्शन का इस्तेमाल करना है तो हमें इनर फंक्शन में ग्लोबल कीवर्ड को डिक्लेयर करना होगा ताकि वेरिएबल को मॉडिफाई किया जा सके।
उदाहरण
def outer_func(): var = 321 # function to modify the variable def modify(): global var var = var * 2 print(var) # calling the function modify() outer_func()
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
642