如何在Python中从文档字符串创建文档?
要从文档字符串创建文档,我们可以使用以下包和模块:
- Pydoc
- Epydoc
- Sphinx
让我们一一了解它们:
Pydoc
pydoc 模块可以从 Python 源代码中的文档字符串创建 HTML。
pydoc 模块会自动根据 Python 模块生成文档。该文档可以在控制台上显示为文本页,也可以提供给 Web 浏览器,或保存为 HTML 文件。
对于模块、类、函数和方法,显示的文档是从对象的文档字符串(即 __doc__ 属性)以及其可记录成员的文档字符串递归派生的。如果没有文档字符串,pydoc 会尝试从源文件类、函数或方法定义正上方的注释行块或模块顶部获取描述(参见 inspect.getcomments())。
内置函数 help() 会在交互式解释器中调用联机帮助系统,该系统使用 pydoc 在控制台上生成其文本文档。也可以通过在操作系统的命令提示符下运行 pydoc 作为脚本,从 Python 解释器外部查看相同的文本文档。例如,运行:
pydoc sys
在 shell 提示符下将以类似于 Unix man 命令显示的手册页的样式显示关于 sys 模块的文档。pydoc 的参数可以是函数、模块或包的名称,也可以是模块或包中类的、方法的或函数的点分引用。
您还可以使用 pydoc 在本地机器上启动一个 HTTP 服务器,该服务器将文档提供给访问的 Web 浏览器。
pydoc -n <主机名> 将启动服务器,侦听指定的主机名。默认情况下,主机名是“localhost”,但如果您希望从其他机器访问服务器,则可能需要更改服务器响应的主机名。
pydoc -b 将启动服务器,并另外打开一个 Web 浏览器到模块索引页。
Epydoc
使用 epydoc 包,可以仅根据文档字符串创建 API 文档。
Epydoc 是一种基于 Python 模块的文档字符串生成 API 文档的工具。有关 epydoc 输出的示例,请参阅 epydoc 本身的 API 文档 (html, pdf)。可以使用名为 epytext 的轻量级标记语言来格式化文档字符串,并添加有关特定字段的信息,例如参数和实例变量。Epydoc 也理解用 reStructuredText、Javadoc 和纯文本编写的文档字符串。
Sphinx
Sphinx 使创建智能且美观的文档变得容易。以下是其功能:
输出格式 - HTML(包括 Windows HTML 帮助)、LaTeX(用于可打印的 PDF 版本)、ePub、Texinfo、手册页、纯文本。
广泛的交叉引用 - 函数、类、引用、词汇表术语和类似信息语义标记和自动链接。
分层结构 - 易于定义文档树,并自动链接到兄弟、父级和子级。
自动索引 - 常规索引以及特定于语言的模块索引。
代码处理 - 使用 Pygments 高亮器自动高亮显示。
扩展 - 代码片段的自动测试,通过内置扩展包含 Python 模块的文档字符串,以及通过第三方扩展实现更多功能。
主题 - 通过创建主题修改输出的外观,并重复使用许多第三方主题。
贡献的扩展 - 用户贡献的数十个扩展;大多数都可以从 PyPI 安装。
数据结构
网络
关系数据库管理系统(RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP