转 -- pydoc用法
原文地址: https://www.cnblogs.com/meitian/p/6704488.html
pydoc用法
pydoc是python自带的一个文档生成工具,使用pydoc可以很方便的查看类和方法结构
本文主要介绍:1.查看文档的方法、2.html文档说明、3.注释方法、
一、查看文档的方法
方法1:启动本地服务,在web上查看文档
命令【python3 -m pydoc -p 1234】
通过http://localhost:1234来访问查看文档
说明:
1、-p指定启动的服务的端口号,可以随意指定不冲突的端口号
2、只有在自建的工程根目录下使用该命令,才能看到当前工程下所有的内容,否则只能看到python环境变量下的模块内容
3、如果本地只有一个python,可以直接使用【pydoc -p 端口号】启动,但因为我本地有python2和python3,所以指定了用python3
方法2:直接查看某个py文件的内容
例子:新建了一个py文件叫做testpydoc.py,进入testpydoc.py所在目录
python3 -m pydoc testpydoc
方法三:生成html说明文档
例子:新建了一个py文件叫做testpydoc.py,进入testpydoc.py所在目录
python3 -m pydoc -w testpydoc
会默认将当前目录下的testpydoc生成一个叫做testpydoc.html的文档,如果是目录直接【python3 -m pydoc -w 目录名】生成文档
说明:如果是将整个目录生成这种格式,不建议用这种方式,因为如果他展示目录下的子文件的说明时,会去子目录下找对应.html文件,如果文件不存在,就会404
方法四:-k查找模块
py通过-k查找模块,会在当前工程目录以及python环境变量目录下查找包含关键词的模块信息
【python3 -m pydoc -k 关键词】
例如如下命令:
python3 -m pydoc -k testpydoc
结果如下:
testpydoc - @author 每天1990
二、html文档说明
通过查看文档的方法,我们可以看到在html的文档主要分成四部分:py文件的顶部注释、Classes、Functions、Data
(示例代码见结尾部分)
第一部分:模块的文档说明,展示模块顶部的多行注释
注释内如果包含了模块文件内的class名,或方法名(),则显示蓝色,且可以点击跳转到对应说明位置
第二部分:classes,展示class以及class下的function
1.只能展示class下的注释,不会展示class下方法的注释
2.class上面有#注释时,展示#号的注释
3.class下有”””多行注释”””时优先展示多行注释,就不展示顶部的#号的注释了
第三部分:function,模块下的def方法,不是class中的方法
1.function上面有#注释时,展示#号的注释
2.function下有”””多行注释”””时优先展示多行注释,就不展示顶部的#号的注释了
第四部分:data,模块下直接定义的变量,不是function或class的变量
示例代码:
"""
@author 每天1990
@desc 本模块是一个测试文件,用来说明pydoc的读取内容
@date 2017/4/13
说明:
classes:testclass(),具有function1()和function2()两个方法
function:test1(),test2(),test3()
Data:a,b
"""
注释放在方法名前,使用#号注释
def test1(a):
print("注释放在方法名前")
注释放在方法名前,使用#号注释
def test2():
"""
注释放在方法内的第一行,既有#号又有多行注释时,优先展示多行注释
"""
print("既有#号又有多行注释时,优先展示多行注释 ")
def test3():
#在方法第一行内使用#注释
print("在方法内使用#号注释,不生效")
class testclass():
"""
注释生效顺序与方法一致,优先展示类下的多行注释,如果没有才展示类上面的#号注释
类下的方法的注释不会展示出来
"""
def function1(self):#类下方法的注释不会展示
print("类下的第一个方法")
def function2(self,a):
print("类下的第二个参数,包含a参数")
a=1#变量的注释不会展示出来
b=2
三、注释方法
通过上面的文档说明,我们可以合理的注释,有助于了解工程结构
python的注释方法有两种:
1.单行注释:使用#号进行注释
单行注释
2.多行注释:使用三个双引号或单引号来注释多行内容
'''
单引号进行多行注释
'''
"""
双引号进行多行注释
"""
pydoc注释展示策略:
在functions和classes前面加#注释,或者在function和class第一行内加三个单引号或三个双引号进行注释
如果有三个引号的注释方法,会优先使用三个点的注释,其次才展示#号的注释
注意:如果在方法或class定义后第一行使用#注释是拉取不到注释的
例子1:class前有#号注释,class内有多行注释,pydoc会优先展示三个点内的注释
例子2:方法内使用#号注释,pydoc不会显示注释内容(class同理)
例子3:方法或class没有多行注释,只在方法外有#号注释时,会展示定义前的#号内的内容
例子4:模块顶部的内容,优先展示多行注释中的内容
转 -- pydoc用法的更多相关文章
- 笨办法学Python记录--习题12-14 主要是pydoc用法,raw_input,argv
20140413 -- 习题12 - 14 1. pydoc在windows的用法,必须进入到python安装目录,执行Python -m pydoc raw_input; 网上给出了一个好玩的,不过 ...
- pydoc用法
pydoc是python自带的一个文档生成工具,使用pydoc可以很方便的查看类和方法结构 本文主要介绍:1.查看文档的方法.2.html文档说明. 一.查看文档的方法 方法1:启动本地服务, ...
- Python 中 -m 的典型用法、原理解析与发展演变
在命令行中使用 Python 时,它可以接收大约 20 个选项(option),语法格式如下: python [-bBdEhiIOqsSuvVWx?] [-c command | -m module- ...
- EditText 基本用法
title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...
- jquery插件的用法之cookie 插件
一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...
- Java中的Socket的用法
Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...
- [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法
一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...
- python enumerate 用法
A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , whe ...
- [转载]Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数: ...
随机推荐
- 转帖: 一份超全超详细的 ADB 用法大全
增加一句 连接 网易mumu模拟器的方法 adb connect 127.0.0.1:7555 一份超全超详细的 ADB 用法大全 2016年08月28日 10:49:41 阅读数:35890 原文 ...
- Delphi学习技巧
我感觉学习最大的诀窍是, 尽快捕捉到设计者(Delphi VCL 的设计者.进而是 Windows 操作系统的设计者)的某些思路, 和大师的思路吻合了, 才能够融汇贯通, 同时从容使用它们的成果. 碰 ...
- maven 父工程 消除重复 对子模块进行管理 主要继承依赖
子类继承父类的 可以不需要groupid与versionid
- 全球最大轻博客APP确认被苹果下架!
读 苹果确认了App Store下架轻博客应用Tumblr,主要原因是,该应用没有很好的过滤掉一些成人内容(成人内容多到夸张),这严重影响了未成年人. 事实上,iPhone和iPad版Tumblr应用 ...
- docker --swarm创建一个集群
如果搭建错误可以强制脱离集群网络: docker swarm leave --force 初始化集群网络管理节点: docker swarm init --advertise-addr 10.101. ...
- BZOJ3697采药人的路径——点分治
题目描述 采药人的药田是一个树状结构,每条路径上都种植着同种药材.采药人以自己对药材独到的见解,对每种药材进行了分类.大致分为两类,一种是阴性的,一种是阳性的.采药人每天都要进行采药活动.他选择的路径 ...
- hdu 4897 Little Devil I (树链剖分+线段树)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4897 题意: 给你一棵树,一开始每条边都是白色,有三种操作: 1.将 u - v路径上的边转换颜色 ...
- 【Luogu5108】仰望半月的夜空(后缀数组)
[Luogu5108]仰望半月的夜空(后缀数组) 题面 洛谷 题解 实名举报这题在比赛之前还不是这个样子的,还被我用SAM给水过去了 很明显求出\(SA\)之后就是按照\(SA\)的顺序从前往后考虑每 ...
- [luogu1131][bzoj1060][ZJOI2007]时态同步【树形DP】
传送门:https://www.luogu.org/problemnew/show/P1131 题目大意 给你一棵树,每条边有边权,要求增加一些边的边权,使得根节点到每个叶子节点的距离相等,求出最少共 ...
- DHCP的原理和实现过程
在DHCP过程中有两个对象DHCP客户端和DHCP服务端,而且DHCP在三层是通过可靠地TCP协议实现,DHCP服务运行在67和68端口. DHCP实现的简单过程,如图1所示, 图1 文字描述: 1. ...