मैं पाइथन के लिए नया हूं, इसलिए यह शायद एक साधारण सा प्रश्न है। पायथन फ़ाइल (मॉड्यूल) में निम्न कोड मुझे थोड़ा भ्रमित कर रहा है:
if __name__ == '__main__':
x = 1
print x
मैंने जिन अन्य भाषाओं में काम किया है, यह कोड एक अपवाद को फेंक देगा, क्योंकि xचर ifकथन के लिए स्थानीय है और इसके बाहर मौजूद नहीं होना चाहिए। लेकिन यह कोड निष्पादित करता है, और प्रिंट करता है 1. क्या कोई इस व्यवहार की व्याख्या कर सकता है? क्या सभी वैरिएबल एक मॉड्यूल ग्लोबल में बनाए गए हैं / पूरे मॉड्यूल के लिए उपलब्ध हैं?
ifसच (यानी, बयान से ऊपर नहीं रखता है__name__है नहीं'__main__'जब आप इसे उच्च-स्तरीय क्रियान्वित करने के बजाय मॉड्यूल आयात उदाहरण के लिए,), तोxकभी नहीं के लिए बाध्य किया गया होगा, और बाद मेंprint xबयान एक फेंक देते हैंNameError: name 'x' is not defined।