在Python Docstrings中,`:obj:`是什么意思?

13
我经常看到文档字符串中有这样的行:

param : :obj: str

我找不到有关 :obj: 代表或做什么的参考资料。它似乎表示一个 str 对象,但我也看到了

param : int

这似乎与前者不一致。

谢谢。


1
你能复制或链接一些相关的例子吗? - Patrick Haugh
例如,参见此处:https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html示例:param2 (:obj:`int`, optional): `param2` 的描述。 - Wolfram Arnold
2个回答

8

3

这不是Python内置功能。你正在查看的代码作者使用了一些外部工具来自动生成文档。它看起来像Sphinx语法,但我不确定。

我猜你在函数和方法的文档字符串中找到了这些内容。它们用于识别参数类型,以便自动文档生成器可以正确地记录函数/方法签名。


关于像这样的文档字符串需要注意的一点是,没有真正的“标准”来格式化它们。Sphinx使用基于RST的语法,Google有一个Python风格指南,采用不同的语法。但是,您可以在文档字符串中放入对您和用户有用的任何内容...它们首先是为人类而制作的,我们只是强制执行标准来帮助生成漂亮的文档。 - Scott Colby

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接