कभी-कभी हम एक वेरिएबल घोषित करते हैं लेकिन हमें उसके मान को इसकी घोषणा के वर्तमान स्कोप के बाहर संशोधित या एक्सेस करने की आवश्यकता हो सकती है जो वर्तमान प्रोग्राम में कहीं भी हो सकता है। ऐसे परिदृश्य में, हम उस फ़ंक्शन के अंदर वेरिएबल नाम के साथ ग्लोबल कीवर्ड का उपयोग करते हैं जहां वेरिएबल घोषित किया गया है। यदि वेरिएबल किसी फ़ंक्शन के अंदर नहीं है, तो यह स्वचालित रूप से वैश्विक स्कोप में होता है।
फ़ंक्शन के बाहर वेरिएबल
नीचे दिए गए उदाहरण में हम एक मान देखते हैं जो फ़ंक्शन के बाहर है, लेकिन हम इसे फ़ंक्शन के अंदर से एक्सेस कर सकते हैं। क्योंकि ऐसा वेरिएबल पहले से ही वैश्विक स्कोप में है।
उदाहरण
x = 56
def func():
y = x * 2
return y
print(func())
आउटपुट
112
फ़ंक्शन के अंदर वेरिएबल
अगले उदाहरण में हम फ़ंक्शन के अंदर एक वेरिएबल का मान बदलने का प्रयास करते हैं और एक त्रुटि प्राप्त करते हैं।
उदाहरण
x = 56
def func():
y = x * 2
x = x + 2
return y
print(func())
आउटपुट
UnboundLocalError: local variable 'x' referenced before assignment
एक फ़ंक्शन के अंदर वैश्विक स्कोप वाले वेरिएबल के मान को संशोधित करने का एकमात्र तरीका इसे फ़ंक्शन के अंदर ग्लोबल वेरिएबल के रूप में घोषित करना है।
उदाहरण
x = 56
def func():
global x
x = x + 2
y = x * 2
return y
print(func())
आउटपुट
116
नेस्टेड फ़ंक्शन के अंदर वेरिएबल
नेस्टेड फ़ंक्शन के मामले में, हम सबसे भीतरी फ़ंक्शन में ग्लोबल वेरिएबल बनाते हैं जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है।
उदाहरण
def func_out():
x = 56
def func_in():
global x
x = 20
print("x is: ", x)
x = x + 3
y = x * 2
print("y is: ", y)
func_in()
func_out()
print("x is: ", x)
आउटपुट
x is: 20 y is: 46 x is: 23
निष्कर्ष
ग्लोबल कीवर्ड फ़ंक्शन के अंदर वैश्विक वेरिएबल को संशोधित करने की अनुमति देता है।