अजगर में वैश्विक चर दायरे को समझें

Understand Global Variables Scope Python



अधिकांश प्रोग्रामिंग भाषाओं में दो प्रकार के चर परिभाषित किए जा सकते हैं। ये वैश्विक चर और स्थानीय चर हैं। वेरिएबल जो फंक्शन के बाहर परिभाषित होते हैं, ग्लोबल वेरिएबल कहलाते हैं। यह चर स्क्रिप्ट में कहीं से भी सुलभ और परिवर्तनशील है। वेरिएबल जो फंक्शन के अंदर घोषित होते हैं, लोकल वेरिएबल कहलाते हैं। लेकिन अगर एक ही वैरिएबल नाम ग्लोबल और लोकल वेरिएबल के रूप में मौजूद है तो फंक्शन के अंदर वेरिएबल को प्राथमिकता मिलेगी और ग्लोबल वेरिएबल के वैल्यू को नजरअंदाज कर दिया जाएगा। पायथन लिपि में वैश्विक चर का दायरा इस ट्यूटोरियल में विभिन्न उदाहरणों का उपयोग करके दिखाया गया है।

उदाहरण -1: वैश्विक चर का सरल उपयोग

निम्न उदाहरण फ़ंक्शन के अंदर और फ़ंक्शन के बाहर एक वैश्विक चर के सरल उपयोग को दर्शाता है। यहाँ, एक वैश्विक चर नाम दिया गया है मूलपाठ स्ट्रिंग डेटा असाइन करने के लिए उपयोग किया जाता है। नाम का एक कस्टम फ़ंक्शन प्रिंटमैसेज () वैश्विक चर के मूल्य को मुद्रित करने के लिए परिभाषित किया गया है। का मूल्य मूलपाठ वेरिएबल को फंक्शन के अंदर और फंक्शन के बाहर वैल्यू बदलने के बाद प्रिंट किया जाता है।







#!/usr/bin/env python3

# वैश्विक चर परिभाषित करें
मूलपाठ= 'लिनक्सहिंट में आपका स्वागत है'

# एक फ़ंक्शन को परिभाषित करें
डीईएफ़प्रिंट संदेश():

# फ़ंक्शन से वैश्विक चर प्रिंट करें
प्रिंट('फंक्शन के अंदर ग्लोबल वैरिएबल:एन',मूलपाठ)

# फ़ंक्शन को कॉल करें
प्रिंट संदेश()

# वैश्विक चर का मान बदलें
मूलपाठ= 'पायथन प्रोग्रामिंग सीखें'

# वैश्विक चर के वर्तमान मूल्य को प्रिंट करें
प्रिंट('वैश्विक चर के बाहर समारोह:एन',मूलपाठ)

आउटपुट:



स्क्रिप्ट चलाने के बाद निम्न आउटपुट दिखाई देगा। इसने मूल्य मुद्रित किया, ' LinuxHint में आपका स्वागत है' जो फ़ंक्शन को कॉल करने से पहले चर को सौंपा गया है। इसके बाद, इसने मूल्य मुद्रित किया, 'पायथन प्रोग्रामिंग सीखें' चर के मान को बदलने के बाद।







उदाहरण -2: एक ही नाम के साथ वैश्विक और स्थानीय चर का प्रयोग

यदि आप किसी फ़ंक्शन के अंदर एक चर नाम घोषित करना चाहते हैं जो पहले से ही अजगर में एक वैश्विक चर के रूप में घोषित किया गया है और चर का उपयोग करना चाहते हैं तो यह चर को स्थानीय चर के रूप में मानेगा और एक त्रुटि उत्पन्न करेगा। निम्न स्क्रिप्ट त्रुटि दिखाएगी। यहां, ये पाठ चर को वैश्विक और स्थानीय चर के रूप में परिभाषित किया गया है।

#!/usr/bin/env python3

# वैश्विक चर परिभाषित करें
मूलपाठ= 'मुझे पायथन पसंद है'

# एक फ़ंक्शन को परिभाषित करें
डीईएफ़प्रिंट संदेश():
प्रिंट(मूलपाठ)

मूलपाठ= 'मुझे PHP पसंद है'

# फ़ंक्शन को कॉल करें
प्रिंट संदेश()

आउटपुट:



स्क्रिप्ट चलाने के बाद निम्न आउटपुट दिखाई देगा।

उपरोक्त स्थिति से बचने के लिए और यदि आप एक स्थानीय चर को वैश्विक चर के समान नाम से घोषित करना चाहते हैं तो आपको पहले स्थानीय चर को फ़ंक्शन के अंदर असाइन करना होगा। निम्नलिखित स्क्रिप्ट से पता चलता है कि स्थानीय चर में परिवर्तन वैश्विक चर में कोई परिवर्तन नहीं करते हैं। मूलपाठ वेरिएबल यहां फ़ंक्शन के अंदर और बाहर मुद्रित होता है।

#!/usr/bin/env python3

# वैश्विक चर परिभाषित करें
मूलपाठ= 'मुझे पायथन पसंद है'

# एक फ़ंक्शन को परिभाषित करें
डीईएफ़प्रिंट संदेश():
# Degin स्थानीय मान
मूलपाठ= 'मुझे PHP पसंद है'
# स्थानीय चर प्रिंट करें, पाठ
प्रिंट(फ़ंक्शन के अंदर 'पाठ' का मान:एन',मूलपाठ)

# फ़ंक्शन को कॉल करें
प्रिंट संदेश()

# ग्लोबल वैरिएबल प्रिंट करें, टेक्स्ट
प्रिंट(फ़ंक्शन के बाहर 'पाठ' का मान:एन',मूलपाठ)

आउटपुट:

स्क्रिप्ट चलाने के बाद निम्न आउटपुट दिखाई देगा।

उदाहरण -3: फ़ंक्शन के अंदर वैश्विक चर का उपयोग

पिछला उदाहरण दिखाता है कि वैश्विक चर किसी फ़ंक्शन के अंदर पहुंच योग्य नहीं है। आप उपयोग कर सकते हैं वैश्विक किसी भी फ़ंक्शन से वैश्विक चर तक पहुंचने के लिए कीवर्ड। निम्नलिखित लिपि में, cal_percentage () फ़ंक्शन को किसी भी संख्या के प्रतिशत की गणना करने के लिए परिभाषित किया गया है जहां वैश्विक और स्थानीय चर दोनों का उपयोग किया जाता है। यहां, एक पर एक वैश्विक चर है, और पेरवली एक स्थानीय चर है। वैश्विक फ़ंक्शन के अंदर वैश्विक चर की पहचान करने के लिए यहां कीवर्ड का उपयोग किया जाता है और फ़ंक्शन के अंदर वैश्विक चर का मान बदल दिया जाता है।

#!/usr/bin/env python3

# पूर्णांक मान लें
एक पर= NS(इनपुट('एक नंबर दर्ज करें:'))

# फंक्शन को परिभाषित करें
डीईएफ़cal_percentage():
# वैश्विक कीवर्ड का उपयोग करके वैश्विक चर को पहचानें
वैश्विकएक पर

# पूर्णांक मान को प्रतिशत के रूप में लें
पेरवली= NS(इनपुट('प्रतिशत मान दर्ज करें:'))

# प्रतिशत मूल्य की गणना करें
नतीजा= पानी पर तैरना((चाहे *perVal)/100)

# स्वरूपित परिणाम प्रिंट करें
प्रिंट('%d %d का प्रतिशत = %f'%(पेरवली,एक पर,नतीजा))

# वैश्विक चर का मान बदलें
एक पर= 500

# फ़ंक्शन को कॉल करने से पहले वैश्विक चर का मान प्रिंट करें
प्रिंट('एनसंख्या का मान = %d'%एक पर)

# फ़ंक्शन को कॉल करें
cal_percentage()

# फ़ंक्शन को कॉल करने के बाद वैश्विक चर का मान प्रिंट करें
प्रिंट('एनसंख्या का मान = %d'%एक पर)

आउटपुट:

स्क्रिप्ट चलाने के बाद निम्न आउटपुट दिखाई देगा। यहां 350 का 10% कैलकुलेट और प्रिंट किया जाता है।

उदाहरण -4: किसी अन्य लिपि से वैश्विक चर का प्रयोग

निम्न उदाहरण दिखाता है कि एक स्क्रिप्ट में घोषित वैश्विक चर का उपयोग दूसरी स्क्रिप्ट में कैसे किया जा सकता है। मान लीजिए, फ़ाइल नाम है Global6.py जो फ़ाइल नाम में परिभाषित वैश्विक चर का उपयोग करेगा Global5.py . तीन वैश्विक चर घोषित किए गए हैं Global5.py . आपको आयात करना होगा वैश्विक5 किसी अन्य स्क्रिप्ट में चर का उपयोग करने के लिए। की स्क्रिप्ट Global6.py इनपुट वैल्यू और ग्लोबल वैरिएबल के आधार पर तीन तरह के कर्मचारियों के वेतन की गणना करेगा।

#!/usr/bin/env python3
# यह Global5.py फ़ाइल है

#कंपनी का मूल वेतन ढांचा
बुनियादी= 5000
मेडिकल= 500
परिवहन= 500 #!/usr/bin/env python3
# यह Global6.py फ़ाइल है

# Global5.py . से वैश्विक चर आयात करें
आयातवैश्विक5

#कर्मचारी का नाम लें
नाम= इनपुट('कर्मचारी का नाम दर्ज करें:')
# पद का नाम लें
पद= इनपुट('पोस्ट दर्ज करें:')

# एरर वेरिएबल को इनिशियलाइज़ करें
त्रुटि= झूठा

# पद की जांच करें और पद के आधार पर मूल वेतन निर्धारित करें
अगर(पद।अपर() == 'सीईओ'):
बुनियादी=वैश्विक5.बुनियादी+(वैश्विक5.बुनियादी*0.4)
एलिफ(पद।अपर() == 'प्रबंधक'):
बुनियादी=वैश्विक5.बुनियादी+(वैश्विक5.बुनियादी*0.25)
एलिफ(पद।अपर() == 'मुनीम'):
बुनियादी=वैश्विक5.बुनियादी+(वैश्विक5.बुनियादी*0.15)
अन्यथा:
# पोस्ट वैल्यू नहीं मिलने पर एरर को सही पर सेट करें
त्रुटि= सत्य

# त्रुटि होने पर वेतन प्रिंट करें
अगर (त्रुटि== झूठा):
वेतन=बेसिक + ग्लोबल5.मेडिकल+ वैश्विक5.परिवहन
प्रिंट('%s का वेतन %d है'%(नाम,वेतन))
अन्यथा:
प्रिंट('पोस्ट नहीं मिला')

आउटपुट:

स्क्रिप्ट चलाने के बाद निम्न आउटपुट दिखाई देगा। यहां, स्क्रिप्ट को दो बार वैध पोस्ट और अमान्य पोस्ट के साथ चलाया जाता है।

निष्कर्ष:

पायथन में एक वैश्विक चर की अवधारणा को इस ट्यूटोरियल में नए पायथन उपयोगकर्ताओं के लिए विभिन्न सरल उदाहरणों के साथ समझाया गया है। मुझे आशा है कि पाठकों को इस ट्यूटोरियल को पढ़ने के बाद वैश्विक चरों के साथ-साथ स्थानीय चरों का उचित ज्ञान प्राप्त होगा।

लेखक का वीडियो देखें: यहां