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