আমি পাইথনের হাঁস-টাইপিং ধারণা সম্পর্কে সচেতন থাকাকালীন আমি মাঝে মাঝে ফাংশনগুলির আর্গুমেন্ট বা ফাংশনের রিটার্ন মানের ধরণের সাথে লড়াই করি।
এখন, আমি যদি নিজেই ফাংশনটি লিখি, তবে আমি প্রকারগুলি জানি। তবে যদি কেউ আমার ফাংশনগুলি ব্যবহার করতে এবং কল করতে চায় তবে কীভাবে তিনি তার প্রকারগুলি জানতে পারবেন? আমি সাধারণত ফাংশনের ডক্ট্রিংয়ে টাইপ তথ্য রাখি (যেমন: "...the id argument should be an integer..."এবং "... the function will return a (string, [integer]) tuple.")
তবে ডকাস্ট্রিংয়ের তথ্যগুলি (এবং এটি একটি কোডার হিসাবে এটি রেখে দেওয়ার জন্য) সত্যিই যেভাবে করা উচিত বলে মনে করা হচ্ছে?
সম্পাদনা করুন: যদিও বেশিরভাগ উত্তর "হ্যাঁ, নথি!" আমি মনে করি এটি 'জটিল' ধরণের জন্য সবসময় খুব সহজ নয়।
উদাহরণস্বরূপ: ডক্ট্রিংয়ে সংক্ষিপ্তভাবে কীভাবে বর্ণনা করতে হবে যে ফাংশনটি ফর্মের প্রতিটি টিপল (নোড_আইড, নোড_নাম, আপটাইম_মিনুট) সহ টিপলগুলির একটি তালিকা ফেরত দেয় এবং উপাদানগুলি যথাক্রমে একটি স্ট্রিং, স্ট্রিং এবং পূর্ণসংখ্যা হয়?
ডক্টরসিং পিইপি ডকুমেন্টেশন এতে কোনও নির্দেশিকা দেয় না।
আমি অনুমান করি যে প্রতিযোগিতাটি হ'ল সেই ক্ষেত্রে ক্লাসগুলি ব্যবহার করা উচিত তবে আমি পাইথনটিকে খুব নমনীয় মনে করি কারণ এটি তালিকাগুলি এবং টিপলস ব্যবহার করে, অর্থাৎ ক্লাস ছাড়াই এই জিনিসগুলির চারপাশে যাওয়ার অনুমতি দেয় ।