Python में main() और if __name__ == “__main__” को समझना: शुरुआती लोगों के लिए पूर्ण मार्गदर्शिका

目次

1. Python में main() फ़ंक्शन क्या है?

1.1 main() फ़ंक्शन का अवलोकन

main() फ़ंक्शन अन्य प्रोग्रामिंग भाषाओं जैसे C और Java में एंट्री पॉइंट के रूप में कार्य करता है, जहाँ यह प्रोग्राम का वह पहला भाग होता है जो चलता है। Python में main() फ़ंक्शन आवश्यक नहीं है, लेकिन इसे अक्सर पठनीयता और रखरखाव को बेहतर बनाने के लिए उपयोग किया जाता है। जबकि Python कोड को ऊपर से नीचे तक निष्पादित करता है, main() फ़ंक्शन का उपयोग करने से आप अपने कोड को तार्किक रूप से संरचित कर सकते हैं और एंट्री पॉइंट को स्पष्ट रूप से परिभाषित कर सकते हैं।

1.2 Python में main() की भूमिका

main() फ़ंक्शन प्रोग्राम लॉजिक को व्यवस्थित करने और समग्र प्रवाह को प्रबंधित करने में मदद करता है। कई फ़ंक्शन या मॉड्यूल वाले बड़े‑पैमाने के प्रोजेक्ट्स में, main() फ़ंक्शन पेश करने से यह स्पष्ट हो जाता है कि कौन सा भाग केंद्रीय प्रोसेसिंग ब्लॉक के रूप में कार्य करता है। यह कोड की पठनीयता को बढ़ाता है और रखरखाव को सरल बनाता है।

def main():
print("Hello, Python!")

if name == "main":
main()

उपरोक्त उदाहरण में, main() फ़ंक्शन को स्पष्ट रूप से निष्पादन एंट्री पॉइंट के रूप में परिभाषित किया गया है। यह संरचना बाद में वर्णित if __name__ == "__main__" शर्त से घनिष्ठ रूप से जुड़ी हुई है।

Ad

2. if __name__ == "__main__" का महत्व

2.1 if __name__ == "__main__" का अर्थ क्या हैवाक्य if __name__ == "__main__" यह निर्धारित करने के लिए उपयोग किया जाता है कि कोई Python स्क्रिप्ट सीधे चलायी जा रही है या मॉड्यूल के रूप में आयात की जा रही है। जब कोई Python प्रोग्राम चलता है, तो एक विशेष वेरिएबल __name__ को स्वचालित रूप से मान दिया जाता है। यदि स्क्रिप्ट सीधे चलायी जाती है, तो ____ का मान "__main__" सेट हो जाता है।

2.2 शर्त कैसे काम करती है

यह शर्त यह सुनिश्चित करती है कि कुछ कोड केवल तब चले जब स्क्रिप्ट सीधे चलायी जा रही हो, न कि जब उसे आयात किया गया हो। यह कोड पुन: उपयोग को प्रोत्साहित करता है और मॉड्यूल उपयोग के लिए अभिप्रेत कोड को स्क्रिप्ट निष्पादन के लिए अभिप्रेत कोड से स्पष्ट रूप से अलग करता है।

def greet():
print("Welcome to Python!")

if name == "main":
greet()

इस उदाहरण में, greet() केवल तब चलता है जब स्क्रिप्ट सीधे चलायी जाती है, और आयात होने पर यह नहीं चलता।

Ad
RUNTEQ(ランテック)|超実戦型エンジニア育成スクール

3. main() को if __name__ == "__main__" के साथ मिलाना

3.1 दोनों को मिलाने के लाभ

main() फ़ंक्शन को if __name__ == "__main__" के साथ मिलाने से Python प्रोग्राम अधिक साफ़ और पुन: उपयोग योग्य बनते हैं। यह दृष्टिकोण आपको ऐसा कोड बनाने की अनुमति देता है जो स्वतंत्र स्क्रिप्ट और आयात योग्य मॉड्यूल दोनों के रूप में कार्य कर सके। कई स्क्रिप्ट और मॉड्यूल वाले बड़े प्रोजेक्ट्स में, यह पैटर्न एंट्री पॉइंट को केंद्रीकृत करने और केवल आवश्यक कोड को निष्पादित करने को सुनिश्चित करता है।

3.2 उदाहरण: स्क्रिप्ट मोड बनाम मॉड्यूल मोड

निम्नलिखित उदाहरण दर्शाता है कि ये संरचनाएँ साथ में कैसे काम करती हैं:

def main():
print("Running as a standalone script.")

def utility_function():
print("Utility function for other modules.")

if name == "main":
main()

यहाँ, main() फ़ंक्शन केवल तब चलता है जब सीधे निष्पादित किया जाता है, जबकि utility_function() अन्य मॉड्यूल द्वारा आयात करने के लिए उपलब्ध रहता है।

Ad

4. if __name__ == "__main__" के व्यावहारिक उपयोग केस

4.1 स्क्रिप्ट और मॉड्यूल के बीच अंतर

वास्तविक विकास में, if __name__ == "__main__" अक्सर स्क्रिप्ट के भीतर परीक्षण कोड लिखते समय पुन: उपयोग योग्य मॉड्यूल बनाते समय उपयोग किया जाता है। यह डेवलपर्स को स्वतंत्र निष्पादन का परीक्षण करने की अनुमति देता है, साथ ही यह सुनिश्चित करता है कि पुन: उपयोग योग्य अन्य स्क्रिप्ट में आयात होने पर सही ढंग से कार्य करें।

4.2 वास्तविक‑विश्व उदाहरण

मशीन लर्निंग प्रशिक्षण स्क्रिप्ट या डेटा विश्लेषण टूल अक्सर कोड को अलग‑अलग करने की आवश्यकता रखते हैं—एक भाग जो स्वतंत्र रूप से चलता है और दूसरा भाग जो कहीं और आयात किया जाता है। if __name__ == "__main__" का उपयोग यह सुनिश्चित करता है कि केवल आवश्यक कोड ही निष्पादित हो, जिससे अनपेक्षित व्यवहार से बचा जा सके।

Ad

5. सर्वोत्तम प्रथाएँ और सामान्य गलतियाँ

5.1 सर्वोत्तम प्रथाएँ

जब Python में main() और if __name__ == "__main__" का उपयोग किया जाता है, तो निम्नलिखित सर्वोत्तम प्रथाओं को ध्यान में रखें:

  • कार्यान्वयन तर्क को फ़ंक्शनों के भीतर रखें: स्पष्टता बनाए रखने के लिए सभी कार्य प्रवाह को main() के भीतर समूहित करें।
  • पुन: उपयोगिता में सुधार करें: मॉड्यूल व्यवहार और स्क्रिप्ट व्यवहार को अलग करने के लिए if __name__ == "__main__" का उपयोग करें।

5.2 सामान्य गलतियाँ

if __name__ == "__main__" का उपयोग न करने से स्क्रिप्ट को आयात करने पर अनपेक्षित कोड निष्पादन हो सकता है। इसके अतिरिक्त, वैश्विक स्कोप में बहुत अधिक तर्क रखने से चर नाम टकराव और बग्स उत्पन्न हो सकते हैं।

Ad
侍エンジニア塾