अजगर मुख्य कार्य & विधि उदाहरण: __main__ को समझें

विषय - सूची:

Anonim

अजगर मुख्य कार्य क्या है?

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

पायथन में डिफ मेन () फ़ंक्शन क्या है? इसे समझने के लिए, निम्नलिखित उदाहरण कोड पर विचार करें

def main():print ("hello world!")print ("Guru99")

यहां, हमें दो टुकड़े मिले- एक को मुख्य फ़ंक्शन के भीतर परिभाषित किया गया है जो "हैलो वर्ल्ड" है और दूसरा स्वतंत्र है, जो "गुरु 99" है। जब आप फ़ंक्शन को मुख्य रूप से चलाते हैं ():

  • केवल "गुरु99" प्रिंट करता है
  • और कोड नहीं "हैलो वर्ल्ड।"

ऐसा इसलिए है क्योंकि हमने कॉल फ़ंक्शन "if__name __ ==" __main__ " घोषित नहीं किया था

यह महत्वपूर्ण है कि मुख्य फ़ंक्शन को परिभाषित करने के बाद, आप if__name __ == "__main__" द्वारा कोड को कॉल करते हैं और फिर कोड चलाते हैं, तभी आपको आउटपुट "हैलो वर्ल्ड!" प्रोग्रामिंग कंसोल में। निम्नलिखित कोड पर विचार करें

def main():print("hello world!")if __name__ == "__main__":main()print("Guru99")

इस मामले में गुरु99 छपा है।

यहाँ स्पष्टीकरण है,

  • जब पायथन इंटरप्रेटर एक स्रोत फ़ाइल पढ़ता है, तो वह इसमें पाए गए सभी कोड को निष्पादित करेगा।
  • जब पायथन मुख्य प्रोग्राम के रूप में "स्रोत फ़ाइल" चलाता है, तो इसका मान ("__main__") विशेष चर (__name__) सेट करता है।
  • जब आप अजगर में मुख्य कार्य को अंजाम देते हैं, तो यह "if" स्टेटमेंट पढ़ेगा और यह जांच करेगा कि __name__ __main__ के बराबर है या नहीं।
  • पायथन में "if__name __ ==" __main__ " आपको पायथन फ़ाइलों को या तो पुन: प्रयोज्य मॉड्यूल या स्टैंडअलोन कार्यक्रमों के रूप में चलाने की अनुमति देता है।

__Name__ चर और पायथन मॉड्यूल

पायथन मुख्य समारोह विधि में __name__ चर के महत्व को समझने के लिए, निम्नलिखित कोड पर विचार करें:

def main():print("hello world!")if __name__ == "__main__":main()print("Guru99")print("Value in built variable name is: ",__name__)

अब विचार करें, कोड एक मॉड्यूल के रूप में आयात किया जाता है

import MainFunctionprint("done")

यहाँ, कोड स्पष्टीकरण है:

C की तरह, Python असाइनमेंट के लिए == तुलना के लिए == का उपयोग करता है। पायथन दुभाषिया मुख्य कार्य का दो तरह से उपयोग करता है

प्रत्यक्ष रन:

  • __name __ = __ main__
  • यदि कथन == सही है, और _main_will में स्क्रिप्ट निष्पादित की जाती है

मॉड्यूल के रूप में आयात करें

  • __name __ = मॉड्यूल का नाम
  • यदि कथन == असत्य है, और __main__ में स्क्रिप्ट निष्पादित नहीं की जाएगी

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

उपरोक्त उदाहरण पायथन 3 कोड हैं, यदि आप पायथन 2 का उपयोग करना चाहते हैं, तो कृपया निम्नलिखित कोड पर विचार करें

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

पायथन 3 में, आपको if__name का उपयोग करने की आवश्यकता नहीं है। निम्नलिखित कोड भी काम करता है

def main():print("Hello World!")main()print("Guru99")

नोट: सुनिश्चित करें कि मुख्य फ़ंक्शन को परिभाषित करने के बाद, आप कुछ इंडेंट छोड़ते हैं और डिफ मेन (): फ़ंक्शन के ठीक नीचे कोड घोषित नहीं करते हैं, यह इंडेंट त्रुटि देगा।