Python Docstring:这些 docstring 参数到底是什么意思?

Python Docstring: What do these docstring parameters mean exactly?

谁能告诉我以下文档字符串参数之间的区别?

:type:param 我见过两者都被用来指定方法参数的类型,但我认为它们的作用并不完全相同。其中一个是给程序员的,另一个是给 IDE 之类的吗?

:rtype:return:returns 特别是 :return 和 :return 看起来很像,那应该在什么情况下使用呢?

None 他们自己意味着什么。各种程序将扫描文档字符串并解释某些片段(或 标签 ),专门用于格式化、链接等。按照惯例(以 javadoc? 开头),此类标签通常以:。除此之外,具体含义取决于解析文档字符串的程序,并且对于应该使用什么标签没有定义的标准。一些程序使用 :return 来记录函数的 return 值,其他程序使用 :rtype.

您问题的唯一真正答案是,查阅您希望处理文档字符串的程序的文档。

Sphinx 文档工具使用这些约定,该工具最初设计用于处理 Python 文档。然而,它的流行导致它被扩展到其他领域,在 the Sphinx documentation 中定义为 "a collection of markup (reStructuredText directives and roles) to describe and link to objects belonging together"。

根据 linked 页面,:return 来自 Python 域,:returns 来自 JavaScript 域,它们似乎都是用于同一件事(记录函数或方法的return值)。实际上 :returns 很少出现,人们怀疑它是否是文档错字。

:rtype 指定 return 类型,如果可能的话,将为类型定义创建一个 link ( 如果 Sphinx 可以在您记录的代码中找到定义)。