将 pydoc 用于非公共/私有类

Raf*_*ter 5 python private pydoc private-class

当我使用 _ 作为类名的前缀时(另请参见thisthis),该类将变为非公开的并且不会由 pydoc 显示:

    class _DoNotShowMeInPydoc:
      """Class Documentation which is not displayed"""
Run Code Online (Sandbox Code Playgroud)

这正是我想要的,因为这个类仅在内部使用,对于使用该模块的人来说并不重要。

但是 - 如果有人想了解我的模块的内部结构(当然)也有文档记录,该怎么办?pydoc 是否有一个标志或选项来显示非公共类?

Mat*_*tin 0

我们假设文档有各种各样的受众,并且通过与源代码本身分开的文档来阅读代码是有价值的。

Pydoc 几乎不支持任何开关来控制输出。访问级别通常是临时约定,而不是 python 语言的一部分。

Pydoc 遵循这个不太容易总结的规则来决定什么是 private-as-in-do-not-document。因此,您唯一的选择是更改代码以使其通过visiblename() 函数。

Pdoc3 是 pydoc 的替代品,使用__pdoc__字典来覆盖与 pydoc 类似的规则。

我创建了pydoc 的一个分支,默认情况下会生成所有内容的文档。