一 练习内容
1 对于input函数来说,我们还可以给用户放一个提示,让用户知道该输入什么,例如:age = input("How old are you?"),提示用户输入年龄
2 代码
age = input("How old are you?") height = input("How tall are you?") weight = input("How much do you weight?") print(f"SO, you are {age} old,{height} tall and {weight} heavy.")
3 运行结果
二 python中pydoc模块的作用
(一)网上的三种定义及我自己的总结
- pydoc是python自带的一个文档生成工具,使用pydoc可以很方便的查看类和方法结构
- python中pydoc模块可以从python代码中获取docstring文档字符串,然后生成帮助信息。
- pydoc是Python自带的模块,主要用于从python模块中自动生成文档,这些文档可以基于文本呈现的、也可以生成WEB 页面的,还可以在服务器上以浏览器的方式呈现!
总结:pydoc是python中自带的一个模块,该模块可以用来生成一个文档,我们可以通过不同的方式查看命令pydoc生成的文档(控制台、HTML文档即web页面、或者在服务器上以浏览器的方式呈现),文档的主要内容是:类或者方法的结构、从python代码中获取文档字符串后得到的帮助信息
(二)pydoc的使用方法
1.pydoc在控制台中查看文档
- 在控制台查看指定模块的说明性文档,即直接查看生成文档的内容
- 格式:python -m pydoc 模块名 (其中,-m 表示运行指定模块,这里表示要执行 pydoc 模块。注意在指定模块名时,除非其创建在 Python 解释器能自行找到的目录 下,否则这里要明确模块所在的位置。)
- 例如:python -m pydoc ex12
- 运行结果:
- 文档的组织方式:
- 模块的文档说明:就是*.py 文件顶部的注释信息,这部分信息会被提取成模块的文档说明。
- CLASSES :列出该模块所包含的全部类。
- FUNCTIONS:列出该模块所包含的全部函数。
- DATA:列出该模块所包含的全部成员变量。
- FILE:显示该模块对应的源文件。
- 注释的展示策略:
- 在functions和classes前面加#注释,或者在function和class第一行内加三个单引号或三个双引号进行注释如果有三个引号的注释方法,会优先使用三个点的注释,其次才展示#号的注释
- 注意:如果在方法或class定义后第一行使用#注释是拉取不到注释的
- 例子1:class前有#号注释,class内有多行注释,pydoc会优先展示三个点内的注释
- 例子2:方法内使用#号注释,pydoc不会显示注释内容(class同理)
- 例子3:方法或class没有多行注释,只在方法外有#号注释时,会展示定义前的#号内的内容
- 例子4:模块顶部的内容,优先展示多行注释中的内容
2.pydoc生成HTML文档
- pydoc 还可以将指定模块的帮助信息提取出来,并自动组织成一个 HTML 文档
- 格式:python -m pydoc -w 模块名 (上面命令主要就是为 pydoc 模块额外指定了 -w 选项,该选项代表 write,表明输出 HTML 文档。)
- 例如: python -m pydoc -w ex12
- 运行结果:
- 根目录中出现ex12.html文档
-
ex12.html打开页面
-
显然,该 HTML 页面与在控制台中查看的文档信息基本相同,区别仅仅在于这是一个 HTML 页面,我们可以拖动滑块来上、下滚动屏幕,查看更加方便。
3.pydoc查找模块
- pydoc 还提供了一个 -k 选项,该选项可以找到名称中包含执行字符串的所有模块
- 格式:python -m pydoc -k 模块名
- 例如:python -m pydoc -k ex12
- 执行结果:
4.扩展:查看所有 Python 模块的 HTML 文档
- 不仅如此,pydoc 模块还可以查看当前操作系统中所有 Python 模块的 HTML 文档信息,即启动本地服务,在web上查看所有python模块的HTML文档信息
- 格式:python -m pydoc -p 端口号
python -m pydoc -b - 其实,这 2 种方式是非常类似的,它们的区别是:前者使用指定的端口启动 HTTP 服务器,而后者将任意选择一个未被占用的端口来启动 HTTP 服务器。通过执行它们中的任意一个,都会打开浏览器并显示出一个包含所有 Pyhton 模块的 HTML 文档。
- 例如:python -m pydoc -p 1234
- 执行结果:
- 显然,这里需要我们手动输入 b 或 q。其中,b 命令表示启动浏览器,而 q 命令表示退出。这里我们选择输入 b,此时浏览器会自动打开并自动访问http://localhost:1234/,将看到如下图 所示的画面。
- 需要指明的一点是,pydoc 在显示所有 Python 模块时,会大致按照以下顺序进行显示:
-
- 显示 Python 内置的核心模块;
- 显示当前目录下的所有 Python 模块;
- 显示 PYTHONPATH 环境变量指定路径下包含的 Python 模块。
- 说明:
-
- -p指定启动的服务的端口号,可以随意指定不冲突的端口号
- 只有在自建的工程根目录下使用该命令,才能看到当前工程下所有的内容,否则只能看到python环境变量下的模块内容
- 如果本地只有一个python,可以直接使用【pydoc -p 端口号】启动,如果本地有python2和python3,必须指定用python2还是python3