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

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


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

print(type(__name__))
print(__name__)

उपरोक्त कोड चलाने पर निम्न परिणाम मिलता है:


__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. - Python Variables: कैसे करें गाइड

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

  1. पायथन plt.title में वेरिएबल कैसे जोड़ें? पायथन plt.title में वेरिएबल कैसे जोड़ें?

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