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

अगर __name__ ==__main__:पायथन में क्या करता है?


जब पायथन इंटरप्रेटर किसी स्रोत फ़ाइल को पढ़ता है, तो वह उसमें पाए गए सभी कोड को निष्पादित करता है।

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

ऐसा करने का एक कारण यह है कि कभी-कभी आप एक मॉड्यूल (एक .py फ़ाइल) लिखते हैं जहां इसे सीधे निष्पादित किया जा सकता है। वैकल्पिक रूप से, इसे आयात किया जा सकता है और दूसरे मॉड्यूल में उपयोग किया जा सकता है। मुख्य जांच करके, आप उस कोड को केवल तभी निष्पादित कर सकते हैं जब आप मॉड्यूल को प्रोग्राम के रूप में चलाना चाहते हैं और इसे निष्पादित नहीं करना चाहते हैं जब कोई आपके मॉड्यूल को आयात करना चाहता है और अपने कार्यों को स्वयं कॉल करना चाहता है।

उदाहरण के लिए, यदि आपके पास निम्न कोड वाली 2 फ़ाइलें one.py और Two.py हैं:

one.py:

def func():
    print("func() in one.py")
print("Root of one.py")
if __name__ == "__main__":
    print("one.py is being run directly")
else:
    print("one.py is being imported")

Two.py:

import one
print("Root of two.py")
one.func()
if __name__ == "__main__":
    print("two.py is being run directly")
else:
    print("two.py is being imported")

अब अगर आप दौड़ते हैं,

$ python one.py

आपको आउटपुट मिलेगा:

Root of one.py
one.py is being run directly

लेकिन अगर आप दौड़ते हैं,

$ python two.py

आपको आउटपुट मिलेगा:

Root of in one.py
one.py is being imported
Root of in two.py
func() in one.py
two.py is being run directly

  1. प्रिंट>> पायथन में क्या करता है?

    मानक प्रिंट स्टेटमेंट का विस्तार करने के लिए एक सिंटैक्स है ताकि इसे डिफ़ॉल्ट sys.stdout के बजाय किसी भी फ़ाइल जैसी वस्तु पर प्रिंट करने के लिए उपयोग किया जा सके। इसलिए इसका उपयोग सीधे फाइलों में प्रिंट करने के लिए किया जा सकता है। उदाहरण उदाहरण के लिए, आप my_file नामक फ़ाइल खोलते हैं, फिर आप इसका

  1. पाइथन में स्ट्रिंग्स का % क्या करता है?

    % एक स्ट्रिंग स्वरूपण ऑपरेटर या इंटरपोलेशन ऑपरेटर है। प्रारूप% मान (जहां प्रारूप एक स्ट्रिंग है) को देखते हुए, प्रारूप में% रूपांतरण विनिर्देशों को मूल्यों के शून्य या अधिक तत्वों से बदल दिया जाता है। प्रभाव सी भाषा में स्प्रिंटफ () का उपयोग करने के समान है। उदाहरण के लिए, >>> lang = "

  1. पाइथन में स्ट्रिंग अक्षर के सामने 'बी' वर्ण क्या करता है?

    पायथन 2 में बी या बी के उपसर्ग को अनदेखा किया जाता है। पायथन 3 में, बाइट्स अक्षर हमेशा बी या बी के साथ उपसर्ग करते हैं; वे str प्रकार के बजाय बाइट्स प्रकार का एक उदाहरण उत्पन्न करते हैं। उनमें केवल ASCII वर्ण हो सकते हैं; 128 या उससे अधिक के अंकीय मान वाले बाइट्स को एस्केप के साथ व्यक्त किया जाना च