虽然我知道Python的鸭子式概念,但有时我会为函数的参数类型或函数的返回值类型而苦恼。
现在,如果我自己编写函数,那么我确实知道类型。但是,如果有人想使用并调用我的函数,他/她应该如何知道类型呢?我通常将类型信息放入函数的文档字符串中(例如:"...the id argument should be an integer..."和"... the function will return a (string, [integer]) tuple.")
但是,查找文档字符串中的信息(并将其作为编码器放置在其中)是否确实是应该完成的方式?
编辑:虽然大多数答案似乎都指向“是的,文档!” 我觉得对于“复杂”类型这并不总是那么容易。
例如:如何在文档字符串中简明地描述一个函数返回一个元组列表,每个元组的形式为(node_id,node_name,uptime_minutes),并且元素分别是字符串,字符串和整数?
docstring PEP文档未对此提供任何指导。
我想反驳的是在那种情况下应该使用类,但是我发现python非常灵活,因为它允许使用列表和元组(即没有类)传递这些东西。