जवाबों:
यह ईमानदारी से आपकी आवश्यकताओं पर निर्भर करता है। अधिकांश समय कार्यों का एक मॉड्यूल वह होगा जो आप खोज रहे हैं।
पायथन क्लासेस (imho) को C # या C ++ या Java में कक्षाओं की तरह नहीं सोचा जाना चाहिए, एक बड़े माता-पिता में कार्यों के एक समूह को व्यवस्थित करने के लिए एक तार्किक कारण होना चाहिए, डेटा संरचनाएं इसका एक अच्छा उदाहरण होगी, जो आप चाहते हैं कार्यों का एक समुच्चय सेट जो सामान्य उद्देश्य वाले कार्यों के शिथिल एकत्र सेट के बजाय सीधे कक्षा पर लागू होता है।
एक मॉड्यूल समान प्रणालियों के समग्र पदानुक्रमित समूह के लिए है, मेरे पास आमतौर पर एक एकल मॉड्यूल के तहत सभी उपयोगिता कार्य हैं, एक अन्य के तहत सभी डेटा, एक अधिक "माता-पिता" प्रकार मॉड्यूल के तहत मेरी डेटा परत और कनेक्टर। चूंकि एक मॉड्यूल सिर्फ एक मानसिक समूह है, इस बारे में कम है कि इसमें किस प्रकार के सिस्टम हैं (कक्षाएं या फ़ंक्शन, ईमानदारी से शायद दो का मिश्रण) और अधिक मॉड्यूल के तहत सिस्टम के बीच तार्किक कनेक्शन के बारे में।
मूल प्रश्न यह है कि क्या आपको अपने मॉड्यूल / वर्ग के विभिन्न उदाहरणों की आवश्यकता है । एक अजगर मॉड्यूल एक सिंगलटन की तरह है - आप हमेशा उसी का संदर्भ देते हैं वस्तु , अर्थात यदि आपको उदाहरणों की आवश्यकता है, तो आपको एक वर्ग की आवश्यकता है।
हालांकि, अगर आपको उदाहरणों की आवश्यकता नहीं है, तो आपको अपनी "ऑब्जेक्ट" को प्रारंभिक अवस्था में सेट करने की आवश्यकता हो सकती है। हालांकि यह स्पष्ट रूप से एक सादे मॉड्यूल के साथ संभव है, अगर इनिशियलाइज़िंग कुछ मूल्यों को स्थापित करने की तुलना में अधिक जटिल है, तो मैं __init__पठनीयता के लिए एक वर्ग की विधि में कोड को इनिशियलाइज़ करने की सलाह दूंगा।