Python在创建函数、类以及类方法时,可以为它们添加说明性文档,即分别在函数体、类体以及类方法内部的首行添加具有说明性的字符串即可。例如:

#demo.py文件

def display(add):

'''

这是一个函数

'''

print(add)

class my_cla:

'''

这是一个类

'''

def say(self,add):

'''

这是一个类实例方法

'''

print(add)

如上所示,我们分别创建了 display() 函数和 my_cla 类,该类中还包含一个 say() 实例方法,并且我们为它们设置了说明性文档。

在此基础上,可以通过 help() 函数或者 doc 属性来调用函数、类或者类方法的说明性文档。例如在上面程序的基础上,添加如下代码:

help(display)

help(my_cla)

help(my_cla.say)

执行程序,运行结果为:

Help on function display in module __main__:

display(add)

这是一个函数

Help on class my_cla in module __main__:

class my_cla(builtins.object)

| 这是一个类

|

| Methods defined here:

|

| say(self, add)

| 这是一个类实例方法

|

| ----------------------------------------------------------------------

| Data descriptors defined here:

|

| __dict__

| dictionary for instance variables (if defined)

|

| __weakref__

| list of weak references to the object (if defined)

Help on function say in module __main__:

say(self, add)

这是一个类实例方法

显然,我们调出了它们的说明性文档,但不得不说,该方法仅能通过编写调用代码在输出结果中查看,不是很方便。

实际上,Python 还提供了 pydoc 模块,通过该模块可以快速地生成程序的帮助文档。接下来就详细讲解 pydoc 模块的用法。

pydoc 可以实现在浏览器查看文档

和 help() 及 doc 不同,使用 pydoc 模块无需编写任何 python 代码,通过执行 python 命令即可查看程序中成员的说明性文档。 pydoc 命令语法格式如下:

python -m pydoc -p 端口号

其中,-m 表示运行指定模块,这里表示要执行 pydoc 模块。注意在指定模块名时,除非其创建在 Python 解释器能自行找到的目录下,否则这里要明确模块所在的位置。

举个例子,执行如下命令:

python -m pydoc -p 8899

执行此命令,会看到如下输出信息:

Server ready at http://localhost:8899/

Server commands: [b]rowser, [q]uit

server>

显然,这里需要我们手动输入 b 或 q。其中,b 命令表示启动浏览器,而 q 命令表示退出。这里我们选择输入 b,此时浏览器会自动打开并自动访问 http://localhost:8899/, 将看到如图 所示的画面。

image.png

在该页面中,如果想查看某个模块的说明文档,直接点击该模块即可。

需要指明的一点是,pydoc 在显示所有 Python 模块时,会大致按照以下顺序进行显示:

显示 Python 内置的核心模块;

显示当前目录下的所有 Python 模块;

显示 PYTHONPATH 环境变量指定路径下包含的 Python 模块。

python制作帮助文档_pydoc模块详解:查看、生成帮助文档相关推荐

  1. Python标准库datetime之date模块详解

    Python标准库datetime之date模块详解 datetime是Python提供的操作日期和时间的标准库,主要有datetime.date模块.datetime.time模块及datetime ...

  2. Python标准库datetime之datetime模块详解

    Python标准库datetime之datetime模块详解 1.日期时间对象 日期时间对象是指具有日期(年月日)和时间(时分秒)双重属性的实例 日期时间对象的类型为datetime.datetime ...

  3. java生成pdf方法_详解Java生成PDF文档方法|chu

    最近项目需要实现PDF下载的功能,由于没有这方面的经验,从网上花了很长时间才找到相关的资料.整理之后,发现有如下几个框架可以实现这个功能. 1. 开源框架支持iText,生成PDF文档,还支持将XML ...

  4. [转]Python 命令行参数和getopt模块详解

    FROM : http://www.tuicool.com/articles/jaqQvq 有时候我们需要写一些脚本处理一些任务,这时候往往需要提供一些命令行参数,根据不同参数进行不同的处理,在Pyt ...

  5. python标准库介绍——4 string模块详解

    ==string 模块==``string`` 模块提供了一些用于处理字符串类型的函数, 如 [Example 1-51 #eg-1-51] 所示.====Example 1-51. 使用 strin ...

  6. python 命令行参数处理 getopt模块详解

    有时候我们需要写一些脚本处理一些任务,这时候往往需要提供一些命令行参数,根据不同参数进行不同的处理,在Python里,命令行的参数和C语言很类似(因为标准Python是用C语言实现的).在C语言里,m ...

  7. python:argparse命令行解析模块详解

    argparse命令行解析模块学习 import argparse parser = argparse.ArgumentParser() #类似于初始化吧 parser.parse_args() #解 ...

  8. python queue get 方法_Python Queue模块详解

    Python3.5中,队列是线程间最常用的交换数据的形式.Queue模块是提供队列操作的模块,虽然简单易用,但是不小心的话,还是会出现一些意外. 创建一个"队列"对象 import ...

  9. python中的pymysql_(转)Python中操作mysql的pymysql模块详解

    原文:https://www.cnblogs.com/wt11/p/6141225.html https://shockerli.net/post/python3-pymysql/----Python ...

最新文章

  1. C++ 拷贝构造函数应用场景
  2. python3 下的文件输入输出特性以及如何覆盖文件内容和接下去输入
  3. 贾跃亭融资计划书曝光:看他如何靠两份PPT融资150亿
  4. dropout+Batch Normalization理解
  5. 贪婪匹配和非贪婪匹配的区别
  6. ​“免疫杀手” Deep X-RAY
  7. discuz mysql data_Discuz!显示 Database Error的原因和解决方法
  8. 博弈论 —— python
  9. 【服务器】宝塔部署eoLinker开源版
  10. fckeditor出现the server didn't send back a proper XML response问题的解决(因为使用了“主题”)...
  11. android camera调试打印信息,Android : 高通平台Camera调试
  12. eclipse汉化-设置语言包
  13. iozone联机测试
  14. Therapy-Induced Evolution of Human Lung CancerRevealed by Single-Cell RNA Sequencing 治疗后肺癌单细胞测序文章分享
  15. Rhino6.5软件安装教程|兼容WIN10
  16. git服务器更换IP地址后本地仓库设置
  17. java 护眼背景,设置Eclipse配色方案--设置不同背景色,有效护眼
  18. Multism14安装问题
  19. 1875.贝茜的报复
  20. 内蒙古自治区律师事务所排名情况

热门文章

  1. Android BlueToothBLE入门(二)——设备的连接和通讯(附Demo源码地址)
  2. PHP安全 [环境变量]
  3. 软件刷的题目 (2)
  4. C++ 引用详解(引用的特点,引用与指针的区别,引用的其他使用)
  5. 历代IQOO旗舰主要参数对比,更新于2021年1月
  6. 小米android7.1机型,心目中最牛逼的小米旗舰机:支持安卓7.1+骁龙801
  7. 河南省继续医学教育学分
  8. 开发者避坑须知:2018 年最不值得学习的五门编程语言
  9. Towards Emotional Support Dialog Systems论文笔记
  10. Flash鼠绘入门第七课:绘制一串逼真的葡萄-Flash鼠绘一串逼真的葡萄1