PEP 233 – Python 在线帮助
- 作者:
- Paul Prescod <paul at prescod.net>
- 状态:
- 推迟
- 类型:
- 标准跟踪
- 创建日期:
- 2000 年 12 月 11 日
- Python 版本:
- 2.1
- 发布历史:
摘要
本 PEP 描述了一个命令行驱动的 Python 在线帮助工具。该工具应能基于现有文档工具(如 Python 文档和文档字符串)构建,并且应可针对新的类型和模块进行扩展。
交互式使用
简单地输入 help 会描述帮助函数(通过 repr() 重载)。
help 也可以作为函数使用。
该函数接受以下形式的输入:
help( "string" )– 内置主题或全局help( <ob> )– 对象或类型的文档字符串help( "doc:filename" )– Python 文档中的文件名
如果你请求一个全局变量,它可能是一个完全限定的名称,例如
help("xml.dom")
你也可以从命令行使用该工具
python --help if
在这两种情况下,输出都会像 more 命令一样进行分页。
实施
help 函数是在一个按需加载的 onlinehelp 模块中实现的。
应该有选项可以通过 onlinehelp 模块从命令行以外的环境获取帮助信息
onlinehelp.gethelp(object_or_string) -> string
还应该可以通过将 onlinehelp.displayhelp(object_or_string) 赋值来覆盖帮助显示函数。
该模块应该能够从 Python 文档的 HTML 或 LaTeX 版本中提取模块信息。链接应该以“lynx-like”的方式处理。
随着时间的推移,它还应该能够识别文档字符串何时使用“特殊”语法,如结构化文本、HTML 和 LaTeX,并进行适当的解码。
一个原型实现可在 Python 源代码分发版中找到,路径为 nondist/sandbox/doctools/onlinehelp.py。
内置主题
help( "intro" )– Python 是什么?请先阅读此内容!help( "keywords" )– 关键字有哪些?help( "syntax" )– 整体语法是什么?help( "operators" )– 有哪些运算符可用?help( "builtins" )– 有哪些内置函数、类型等?help( "modules" )– 标准库中有哪些模块?help( "copyright" )– 谁拥有 Python?help( "moreinfo" )– 哪里可以找到更多信息?help( "changes" )– Python 2.0 中有哪些变化?help( "extensions" )– 安装了哪些扩展?help( "faq" )– 有哪些常见问题?help( "ack" )– 最近谁为 Python 做了贡献?
安全问题
此模块将尝试导入与所请求主题同名的模块。如果您不确定 PYTHONPATH 中的所有内容都来自受信任的来源,请勿使用这些模块。
来源:https://github.com/python/peps/blob/main/peps/pep-0233.rst