चर दो प्रकार के होते हैं:वैश्विक चर और स्थानीय चर।
वैश्विक चर का दायरा संपूर्ण कार्यक्रम है जबकि स्थानीय चर का दायरा उस फ़ंक्शन तक सीमित है जहां इसे परिभाषित किया गया है।
def func(): x = "Python" print(x) print(s) s = "Tutorialspoint" print(s) func() print(x)
उपरोक्त कार्यक्रम में- x एक स्थानीय चर है जबकि s एक वैश्विक चर है, हम स्थानीय चर को केवल उस फ़ंक्शन के भीतर एक्सेस कर सकते हैं जिसे परिभाषित किया गया है (func() ऊपर) और स्थानीय चर को इसके दायरे से बाहर कॉल करने का प्रयास कर रहा है (func ()) एक त्रुटि के माध्यम से। हालांकि, हम प्रोग्राम में परिभाषित फंक्शन्स (func ()) सहित प्रोग्राम में कहीं भी ग्लोबल वेरिएबल को कॉल कर सकते हैं।
स्थानीय चर
स्थानीय चरों को केवल उनके दायरे में पहुँचा जा सकता है (जैसे ऊपर func())।
नीचे दिए गए कार्यक्रम की तरह- दो स्थानीय चर हैं - x और y।
def sum(x,y): sum = x + y return sum print(sum(5, 10))
आउटपुट
15
चर x और y केवल फ़ंक्शन योग () के अंदर काम/उपयोग करेंगे और वे फ़ंक्शन के बाहर मौजूद नहीं हैं। इसलिए अपने दायरे से बाहर स्थानीय चर का उपयोग करने का प्रयास, NameError के माध्यम से हो सकता है। तो जाहिर है कि नीचे की रेखा काम नहीं करेगी।
print(x)
वैश्विक चर
एक वैश्विक चर का उपयोग कार्यक्रम में कहीं भी किया जा सकता है क्योंकि इसका दायरा संपूर्ण कार्यक्रम है।
आइए वैश्विक चर को एक बहुत ही सरल उदाहरण से समझते हैं -
z = 25 def func(): global z print(z) z=20 func() print(z)
आउटपुट
25 20
एक कॉलिंग func(), वैश्विक चर मान पूरे प्रोग्राम के लिए बदल दिया जाता है।
नीचे दिया गया उदाहरण स्थानीय और वैश्विक चर और फ़ंक्शन पैरामीटर का संयोजन दिखाता है -
def func(x, y): global a a = 45 x,y = y,x b = 33 b = 17 c = 100 print(a,b,x,y) a,b,x,y = 3,15,3,4 func(9,81) print (a,b,x,y)
आउटपुट
45 17 81 9 45 15 3 4