我在 Django 和纯 Python 项目中广泛使用 IntellJ IDEA / PyCharm。
要走的路肯定是 reStructuredText 和 Sphinx,后者仅在您想要生成 HTML 或 PDF 文档时。这也是 Python 库本身的文档记录方式。几个月前,我从 epydoc 切换到了 reStructuredText,因为对后者的一般支持要好得多。
您的文档字符串如下所示:
def myfunc(p1, p2, p3):
"""myfunc does something interesting.
some more detail. See :meth:`my_other_func` for more information.
:param p1: The first parameter.
:type p1: string
:param p2: The second parameter.
:param p3: The third parameter.
:returns: True if successful, False if not.
"""
my_code(p1)
more_code(p2)
return third_part(p1,p2,p3)
它与基本元素的旧 epydoc 标准没有太大区别。PyCharm 能够解析这些信息,例如使用 :type: specs 在函数体中完成。