फ़ंक्शन रिटर्न प्रकार और तर्क प्रकारों को कैसे जानें?

| | | | | | | | | | | | | | |

जबकि मैं पाइथन की डक-टाइपिंग अवधारणा से अवगत हूं, मैं कभी-कभी फ़ंक्शन के तर्कों के प्रकार, या फ़ंक्शन के रिटर्न वैल्यू के प्रकार के साथ संघर्ष करता हूं।

अब, अगर मैंने लिखा है समारोह स्वयं, मैं प्रकारों को जानता हूं। लेकिन क्या होगा अगर कोई मेरे कार्यों का उपयोग करना और कॉल करना चाहता है, तो उनसे प्रकारों को जानने की उम्मीद कैसे की जाती है? मैं आमतौर पर फ़ंक्शन के डॉकस्ट्रिंग में टाइप जानकारी डालता हूं (जैसे: "... id तर्क एक पूर्णांक होना चाहिए..." और "... फ़ंक्शन एक ( string, [integer]) tuple.")

लेकिन क्या डॉकस्ट्रिंग में जानकारी ढूंढ़ रहे हैं (और इसे एक कोडर के रूप में वहां डाल रहे हैं) वास्तव में जिस तरह से इसे किया जाना चाहिए था?

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