अजगर मुख्य कार्य

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

पायथन में मुख्य () फ़ंक्शन क्या है?

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

पाइथन निष्पादन बिंदु को परिभाषित करने के लिए अन्य सम्मेलनों की पेशकश करता है। उनमें से main()एक पायथन फ़ाइल के फ़ंक्शन और __name__ गुण का उपयोग कर रहा है।

पायथन में __name__ क्या है?

__Name__ चर एक विशेष बिल्ट पायथन चर है जो वर्तमान मॉड्यूल का नाम दिखाता है।

इसके अलग-अलग मूल्य हैं जहां हम पायथन फ़ाइल को निष्पादित करते हैं। आइए एक उदाहरण देखें।

स्क्रिप्ट के रूप में पायथन फाइल चलाना

मान लें कि हमारे पास एक Python फ़ाइल है, जिसे निम्नलिखित सामग्री के साथ helloworld.py कहा जाता है:

 print(__name__) 

यदि हम कमांड लाइन से helloworld.py चलाते हैं , तो यह पायथन स्क्रिप्ट के रूप में चलता है। हम निम्नलिखित आदेश का उपयोग करके पायथन कार्यक्रम चला सकते हैं:

$ python helloworld.py

जब हम प्रोग्राम को स्क्रिप्ट के रूप में चलाते हैं, तो चर __name__ का मान __main__ पर सेट होता है। तो निम्न कार्यक्रम का उत्पादन होगा:

 __मुख्य__ 

एक मॉड्यूल के रूप में पायथन फ़ाइल चला रहा है

हम एक पायथन फ़ाइल को एक मॉड्यूल के रूप में भी चला सकते हैं। इसके लिए, हमें इस फाइल को दूसरे पायथन प्रोग्राम में आयात करना होगा। आइए एक उदाहरण देखें।

मान लीजिए कि हमारे पास एक ही निर्देशिका में मेनहोम नामक एक पायथन फाइल है , जो कि हेलोवर्ल्डहोम फाइल है। इसकी निम्नलिखित सामग्री है:

 import helloworld 

जब हम यह फ़ाइल चलाते हैं, तो हमारे पास निम्न आउटपुट होंगे:

 नमस्ते दुनिया 

यहां, हम देख सकते हैं कि मॉड्यूल आयात करना मॉड्यूल फ़ाइल में सभी कोड भी चलाता है।

लेकिन, हम देख सकते हैं कि __main__ को प्रदर्शित करने के बजाय, कार्यक्रम मॉड्यूल का नाम प्रदर्शित करता है, अर्थात् हेलोवर्ल्ड।

ऐसा इसलिए है, क्योंकि पायथन फ़ाइल को एक मॉड्यूल के रूप में चलाने के संदर्भ में, मॉड्यूल का नाम ही _____ चर को सौंपा गया है।

का उपयोग कर अगर __name__ के साथ सशर्त

अब जब हम समझ गए हैं कि __name__ वैरिएबल को कैसे असाइन किया गया मान है, तो हम ifएक ही पायथन फाइल को अलग-अलग संदर्भों में चलाने के लिए सशर्त खंड का उपयोग कर सकते हैं ।

आइए एक उदाहरण देखें।

मान लें कि हम helloworld.py फ़ाइल की सामग्री को निम्न में बदल देते हैं :

 def main(): print("Hello World") if __name__=="__main__": main() 

अब, जब हम इसे कमांड लाइन के माध्यम से एक स्क्रिप्ट के रूप में चलाते हैं, तो आउटपुट होगा:

 नमस्ते दुनिया 

हालाँकि, जब हम इसे मेनड्रो फ़ाइल में आयात करके मॉड्यूल के रूप में चलाते हैं, तो कोई आउटपुट प्रदर्शित नहीं होता है क्योंकि main()फ़ंक्शन को नहीं कहा जाता है।

यहां, हमने helloworld.py फ़ाइल main()में एक कस्टम फ़ंक्शन बनाया है । इसे तभी निष्पादित किया जाता है जब प्रोग्राम को स्टैंडअलोन स्क्रिप्ट के रूप में चलाया जाता है न कि एक आयातित मॉड्यूल के रूप में।

यह main()पायथन में फ़ंक्शन को स्पष्ट रूप से परिभाषित करने का मानक तरीका है । यह पायथन फ़ाइल के __name__ चर के सबसे लोकप्रिय उपयोग मामलों में से एक है।

दिलचस्प लेख...