虽然我知道 Python 的 Duck-type 概念,但我有时会纠结于函数的参数类型或函数的返回值类型。
现在,如果我自己编写函数,我确实知道类型。但是,如果有人想要使用并调用我的函数,他/她如何期望知道类型?
我通常将类型信息放在函数的 docstring 中(如: "...the id argument should be an integer..."和 "... the function will return a (string, [integer]) tuple.")
但是,在 docstring 中查找信息(并将其放在那里,作为一个编码器)真的是应该采用的方式吗?
编辑: 虽然大多数的回答似乎直接指向“是的,文档!”我觉得对于“复杂”类型的人来说,这并不总是那么容易。例如: 如何在 docstring 中描述 简明扼要,函数返回一个元组列表,每个元组的形式(node _ id,node _ name,uptime _ minutes)和元素分别是一个字符串、字符串和整数?
Docstring PEP 文档没有提供任何关于这方面的指导原则。
我猜反对意见是在这种情况下应该使用类,但是我发现 python 非常灵活,因为它允许使用列表和元组(即 没有类)传递这些内容。