इस बारे में नहीं है @staticmethodऔर @classmethod! मुझे पता है कि कैसे staticmethodकाम करता है। जो मैं जानना चाहता हूं वह @staticmethodबनाम मॉड्यूल-स्तरीय फ़ंक्शन के लिए उचित उपयोग के मामले हैं ।
मैंने इस प्रश्न को हल कर दिया है, और ऐसा लगता है कि कुछ सामान्य समझौते हैं जो स्थिर स्तर पर मॉड्यूल स्तर के कार्यों को पसंद करते हैं क्योंकि यह अधिक पायथोनिक है। स्टेटिक तरीकों का अपनी कक्षा के लिए बाध्य होने का फायदा है, जो समझ में आता है कि अगर केवल उस वर्ग का उपयोग करता है। हालांकि, पायथन कार्यक्षमता में आमतौर पर मॉड्यूल नहीं वर्ग द्वारा आयोजित किया जाता है, इसलिए आमतौर पर इसे मॉड्यूल फ़ंक्शन बनाने से भी समझ में आता है।
उप-वर्गों द्वारा स्थैतिक तरीकों को भी ओवरराइड किया जा सकता है, जो कि आप इसे कैसे देखते हैं, इसके आधार पर एक फायदा या नुकसान है। हालांकि, स्थैतिक विधियां आमतौर पर "कार्यात्मक रूप से शुद्ध" होती हैं, इसलिए ओवरराइडिंग यह स्मार्ट नहीं हो सकता है, लेकिन यह कभी-कभी सुविधाजनक हो सकता है (हालांकि यह उन "सुविधाजनक में से एक हो सकता है, लेकिन यह कभी नहीं" इस तरह की चीजें केवल आपको सिखा सकती हैं)।
या तो स्थैतिकमॉडल या मॉड्यूल स्तर के कार्यों का उपयोग करने के लिए कोई सामान्य नियम-से-अंगूठे हैं? उनके पास क्या ठोस फायदे या नुकसान हैं (उदाहरण के लिए भविष्य का विस्तार, बाहरी विस्तार, पठनीयता)? यदि संभव हो तो, एक उदाहरण उदाहरण भी प्रदान करें।