私はPythonのダックタイピングの概念を知っていますが、関数の引数のタイプや関数の戻り値のタイプに苦労することがあります。
さて、私が自分で関数を書いた場合、私はタイプを知っています。しかし、誰かが私の関数を使用して呼び出したい場合、その人はどのようにして型を知ることが期待されますか?私は通常、関数のdocstringに型情報を入れます(:"...the id argument should be an integer..."や"... the function will return a (string, [integer]) tuple.")
しかし、docstring内の情報を検索する(そしてそれをコーダーとしてそこに置く)ことは、実際にそれが行われることになっている方法ですか?
編集:回答の大部分は「はい、文書化してください」に向けられているようですが。「複雑な」タイプの場合、これは必ずしも簡単ではないと思います。
例:関数がタプルのリストを返し、各タプルが形式(node_id、node_name、uptime_minutes)であり、要素がそれぞれ文字列、文字列、整数であることをdocstringで簡潔に説明するにはどうすればよいですか?
docstring PEPのドキュメントには、そのガイドラインはありません。
その場合はクラスを使用する必要があるという反論があると思いますが、Pythonはリストとタプルを使用して、つまりクラスなしでこれらを渡すことができるため、非常に柔軟です。