संगणक

ग्लोबल आणि लोकल व्हेरिएबल्स पायथन

लेखक: Peter Berry
निर्मितीची तारीख: 15 जुलै 2021
अद्यतन तारीख: 13 मे 2024
Anonim
#36 नवशिक्यांसाठी पायथन ट्यूटोरियल | पायथन मधील ग्लोबल कीवर्ड | ग्लोबल वि लोकल व्हेरिएबल
व्हिडिओ: #36 नवशिक्यांसाठी पायथन ट्यूटोरियल | पायथन मधील ग्लोबल कीवर्ड | ग्लोबल वि लोकल व्हेरिएबल

सामग्री

मी डेटा विश्लेषण आणि आकडेवारीमध्ये खूप रस असलेल्या सॉफ्टवेअर विकसक आहे.

ग्लोबल व्हेरिएबल्स ते आहेत चल जे फंक्शन स्कोपच्या बाहेर घोषित केले जातात परंतु फंक्शनमध्ये वापरले जाऊ शकतात. ग्लोबल व्हेरिएबल घोषित करण्यासाठी आणि वापरण्यासाठी आम्ही व्हेरिएबलच्या नावापूर्वी “ग्लोबल” कीवर्ड वापरू शकतो.

चला काही उदाहरणांच्या मदतीने संकल्पना चांगल्या प्रकारे समजून घेण्याचा प्रयत्न करूया.

व्हेरिएबल परिभाषित इनसाइड फंक्शन आणि त्या बाहेर वापरलेले

पुढील कोडचा विचार करा.

#! / usr / बिन / पायथन 3 डीएफ मायफंक्ट (): ए = 20 प्रिंट (अ) मायफंक्ट () प्रिंट (अ)

कोडचे नाव नेम इरर होईल कारण व्हेरिएबल ए केवळ मायफंक्ट नावाच्या फंक्शनला दिसेल. प्रोग्रामच्या शेवटी दिलेले प्रिंट (अ) अपयशी ठरते कारण व्हेरिएबलची व्याख्या अद्याप केलेली नाही. कारण "व्हेरिएबल" माय फंक्ट () नावाच्या फंक्शनला लोकल आहे.


वरील प्रोग्रामचे आउटपुट असे असेल: ट्रेसबॅक (सर्वात अलीकडील कॉल शेवटचा): 20 फाईल "जी: वर्कस्पेस py_ws मायप्रोज ऑर्ग पायथोंटोरियल्स ग्लोव्हव्हस्लोकल ग्लोबलअँडलोकल.पी", ओळ 13, प्रिंटमध्ये (अ) नेम एरर: नाव 'ए' परिभाषित केलेले नाही

कोड कार्य करण्यासाठी व्हॅल्यू सेट आणि प्रिंट करण्यापूर्वी आम्ही मायफंक्ट () मध्ये ग्लोबल ए जोडू शकतो. खाली वर्धित कोड विचारात घ्या:

#! / usr / bin / python3 Def myFunct (): ग्लोबल एए = 20 प्रिंट ("मायफंक्ट च्या आत (): ए =", ए) मायफंक्ट () प्रिंट ("मायफंक्टला पहिल्या कॉलनंतरची किंमत: a =", ए) ए = १० प्रिंट ("मायफंक्शनच्या बाहेर नवीन मूल्य निश्चित केल्यावर: अ =", अ) मायफंक्ट () प्रिंट ("मायफंक्टला दुस second्यांदा कॉल केल्यानंतर: अ =", अ)

वरील कोडचे आउटपुट खालीलप्रमाणे असेल:

मायफंक्टच्या आत (): ए = २० मायफंक्टला पहिल्या कॉलनंतरचे मूल्यः a = २० मायफंक्टच्या बाहेर नवीन मूल्य सेट केल्यानंतर: ए = १० मायफंक्टच्या आत (): ए = २० मायफंक्टला दुस second्यांदा कॉल केल्यानंतर: a = २०

व्हेरिएबल परिभाषित बाहेरील कार्य आणि आत वापरले

आपण दुसर्‍या उदाहरणावर विचार करूया:


#! / usr / bin / python3 Def callMe (): print (msg) msg ​​= "कॉल" # = "कॉलिंग ..." कॉलमे () प्रिंट (संदेश)

आम्ही कोड कार्यान्वित केल्यास काय होईल? हे यशस्वीरित्या चालवेल?
वरील कोडचे आउटपुट असे दिसेल:

ट्रेसबॅक (सर्वात अलीकडील कॉल शेवटचा): फाइल "जी: वर्कस्पेसेस y पाय_डब्ल्यूएस मायप्रोजेज ऑर्ग पायथोंटोरियल्स ग्लोव्हव्हस्लोकल स्कोपडऑटसाइड.पी", ओळ 12, कॉलएम मध्ये () फाइल "जी: वर्कस्पेसेस पाय_ब्ल्यू मायप्रोज असाइनमेंट करण्यापूर्वी संदर्भित पायथोंटोरियल्स ग्लोबलव्हस्लोकल स्कॉपेडआउटसाइड.पी ", ओळ 8, कॉलमे प्रिंट (एस) मध्ये अनबाऊंडलोकल एरर: लोकल व्हेरिएबल 'msg'

कोडची बारकाईने तपासणी केल्यास आपण पाहू शकतो की व्हेरिएबलला कॉलमे फंक्शनच्या बाहेर “कॉलिंग” मूल्य दिले गेले आहे. नंतर कॉलमी () कॉल केले जाते. जरी हे कॉल करण्यापूर्वी फंक्शनच्या बाहेर म्हणजेच घोषित केले जाते, परंतु पायथन “गृहीत करते” की कॉलम () च्या आतील एस्पाईमेंट मुळे आपल्याला लोकल व्हेरिएबल पाहिजे आहे, तर प्रिंट स्टेटमेंट हा एरर मेसेज फेकतो.

सहसा, आत बदललेला एक चल एक कार्य स्थानिक चल म्हणून गणले जाते, जर ते जागतिक चल म्हणून घोषित केले गेले नाही तर.


त्रुटी सुधारण्यासाठी आम्हाला कोड खालीलप्रमाणे सुधारित करणे आवश्यक आहे:

#! / usr / bin / python3 Def callMe (): global msg print (msg) msg ​​= "कॉल केलेले" msg = "कॉलिंग ..." कॉलमी () प्रिंट (संदेश)

आता, त्यानुसार दोन वेगळ्या ओळींमध्ये "कॉलिंग" आणि "कॉल केलेले" मुद्रित केले जावे. वरील प्रोग्रामचे आउटपुट खालीलप्रमाणे असेल:

कॉल करीत आहे ... कॉल केला

नेस्टेड फंक्शन्सच्या आत व्हेरिएबल्स

दुसर्‍या फंक्शनमध्ये फंक्शन परिभाषित करणे शक्य आहे. अशा कार्यांना नेस्टेड फंक्शन्स म्हणतात.

पुढील कोडचा विचार करा:

#! / usr / बिन / पायथन 3 Def बाह्य (): x = 10% आतील (): ग्लोबल xx = 2 प्रिंट ("अंतर्गत कॉल करण्यापूर्वी (): x =", x) मुद्रण ("आतील (आता कॉलिंग () आत्ता कॉल करा) .. . ") आतील () प्रिंट (" आतील कॉल केल्यावर (): x = ", x) बाह्य () प्रिंट (" x मुख्य मध्ये: "+ स्ट्र (एक्स))

वरील कोडचे आउटपुट असेल:

आतील (): x = 10 कॉल करणे अगोदर आतील () कॉल करणे आता ... आतील कॉल केल्यावर (): x = 10 x मुख्यतः: 2

वरील प्रोग्राममध्ये एक्स चे मूल्य बाह्य () फंक्शनमध्ये 10 प्रमाणे व्हेरिएबलने काय केले आहे याची पर्वा न करता ठेवली जाते. आतील () कॉल केल्यावर, जागतिक व्हेरिएबल 2 मूल्यासह अस्तित्त्वात आहे (बाह्य () बाह्य (अंतर्गत) अंतर्गत () म्हणतात, कारण मुख्य प्रिंट स्टेटमेंट आंतरिक () द्वारे वैश्विक व्हेरिएबलला दिलेली मूल्य दर्शवितो.

पहा याची खात्री करा

शिफारस केली

पिटक एअरपॉड्स पॉल अँड मिनी पुनरावलोकन: सर्वोत्कृष्ट एअरपॉड्स आय -2 वायरलेस चार्जिंग प्रकरणे
संगणक

पिटक एअरपॉड्स पॉल अँड मिनी पुनरावलोकन: सर्वोत्कृष्ट एअरपॉड्स आय -2 वायरलेस चार्जिंग प्रकरणे

Rपल, सॅमसंग, गूगल आणि Amazonमेझॉन सारख्या कंपन्यांच्या ताज्या कथांचा शोध घेणारी क्रिझिझटॉफ एक आजीवन भविष्यकालीन टेक जंक आहे.द पिटाका एअरपॉड्स पॉल अँड पल मिनी प्रीमियमपासून बनविलेले स्टाइलिश एअरपॉड्स आ...
मायक्रोसॉफ्ट एजमध्ये Chrome विस्तार कसे स्थापित करावे
इंटरनेट

मायक्रोसॉफ्ट एजमध्ये Chrome विस्तार कसे स्थापित करावे

जोनाथन विली हा एक डिजिटल शिक्षण सल्लागार आहे जो इतरांना त्यांच्या तंत्रज्ञानाचा उत्कृष्ट उपयोग करण्यास मदत करण्याची आवड आहे.मायक्रोसॉफ्टने ब्राउझरच्या वर्चस्वावर परत जाण्याचा नवीनतम प्रयत्न शेवटी केला...