Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

__name__ (एक विशेष चर) पायथन में


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

print type(__name__)
print __name__

उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -

<type 'str'>
__main__

जैसा कि आप ऊपर देख सकते हैं __name__ चर का मान स्ट्रिंग डेटा प्रकार का है और ___main__ के बराबर है।

नीचे __name__ वेरिएबल की दो प्रमुख विशेषताएं दी गई हैं।

<मजबूत>1. जब आप कोई भी अच्छी तरह से लिखित स्टैंड-अलोन पायथन स्क्रिप्ट चलाते हैं जो किसी अन्य स्क्रिप्ट का जिक्र नहीं कर रही है, तो __name__ चर का मान __main__ के बराबर होता है।

आइए standalone.py . नाम का एक प्रोग्राम लिखें इस सुविधा को स्पष्ट करने के लिए।

def func1():
   print 'The value of __name__ is ' + __name__
if __name__ == '__main__':
   func1()

उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -

The value of __name__ is __main__

जैसा कि अपेक्षित था __name__ चर __main__ का मूल्यांकन करता है इसलिए आउटपुट।

<मजबूत>2. दूसरी विशेषता एक पायथन लिपि को दूसरे में आयात करने के बारे में है। ऐसे परिदृश्य में, दो अलग-अलग स्कोप प्रतीत होते हैं जिन्हें मुख्य () फ़ंक्शन के रूप में माना जा सकता है। पहला स्कोप वर्तमान में चल रहे प्रोग्राम का __main__ वेरिएबल हो सकता है और दूसरा वर्तमान प्रोग्राम में प्रयुक्त इंपोर्टेड स्क्रिप्ट के __main__ वेरिएबल का स्कोप हो सकता है।

तो किस __main__ चर का उपयोग किया जाएगा

जब आप आयातित स्क्रिप्ट से कोई फ़ंक्शन चलाते हैं, तो __name__ चर स्क्रिप्ट के वास्तविक नाम का मूल्यांकन करेगा और __main__ के बराबर नहीं होगा।

लेकिन जब आप मौजूदा प्रोग्राम से नाम वेरिएबल के मान का पता लगाते हैं, तो आयातित स्क्रिप्ट का जिक्र किए बिना, यह __main__ का मूल्यांकन करेगा जैसा कि अपेक्षित था, क्योंकि यह स्तर 0 इंडेंट पर प्रोग्राम का दायरा है।

नीचे दिया गया प्रोग्राम इस उदाहरण को दिखाता है।

उदाहरण

import standalone as sa

print('Running the imported script')
sa.func1()

print('\n')
print('Running the current script')
print 'The value of __name__ is ' + __name__

आउटपुट

उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -

Running the imported script
The value of __name__ is standalone

Running the current script
The value of __name__ is __main__
है

इस दृष्टिकोण की उपयोगिता तब होती है जब कोड if __name__ =="__main__":का उपयोग किया जाता है, पायथन दुभाषिया जांचता है कि क्या यह वर्तमान में निष्पादित स्क्रिप्ट को पार्स कर रहा है, या यदि यह अस्थायी रूप से किसी अन्य बाहरी स्क्रिप्ट को पार्स कर रहा है। इस तरह प्रोग्रामर के पास बाहरी स्क्रिप्ट से कोड की पंक्तियों को चलाने के साथ-साथ परिदृश्यों के आधार पर वर्तमान में निष्पादित स्क्रिप्ट को चुनकर प्रोग्राम के विभिन्न हिस्सों के व्यवहार को नियंत्रित करने की क्षमता होती है।


  1. पायथन पर्यावरण चर का उपयोग कैसे करें

    जब आप विभिन्न परिवेशों में विकास कर रहे हों, तो आप प्रत्येक परिवेश के लिए भिन्न कॉन्फ़िगरेशन मान निर्दिष्ट करना चाह सकते हैं। जिस कंप्यूटर पर आपने एप्लिकेशन विकसित किया है, वह वैसा नहीं होगा, जिस पर आप एप्लिकेशन को परिनियोजित करते हैं। यहीं से पर्यावरण चर उपयोग में आते हैं! इस गाइड में, हम इस

  1. पायथन वेरिएबल्स:ए हाउ-टू गाइड

    पायथन वेरिएबल प्रोग्राम में एक वैल्यू स्टोर करता है। चर के दो भाग होते हैं:एक लेबल और एक मान। इन दोनों भागों को एक समान चिह्न (=) द्वारा अलग किया जाता है। आप अपने पूरे प्रोग्राम में वेरिएबल को असाइन किए गए मान को संदर्भित करने के लिए लेबल का उपयोग कर सकते हैं। चर मान में बदल सकते हैं। प्रोग्रामिंग

  1. Python plt.title में एक वेरिएबल कैसे जोड़ें?

    पायथन में एक चर जोड़ने के लिए plt.title() , हम निम्नलिखित कदम उठा सकते हैं - y की गणना करने और इसे शीर्षक में सेट करने के लिए numpy और num (एक चर है) का उपयोग करके x और y के लिए डेटा बिंदु बनाएं। प्लॉट () . का उपयोग करके प्लॉट x और y डेटा पॉइंट लाल रंग के साथ विधि। वक्र का शीर्षक चर संख्य