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:模块顶部的内容,优先展示多行注释中的内容

python的注释规范的更多相关文章

  1. PythonStudy——Python 注释规范

    注释规范:   什么是注释?  注释:不会被python解释器解释执行,是提供给开发者阅读代码的提示 单行注释: # 开头的语句 多行注释:出现在文件最上方,用''' '''包裹的语句   Pycha ...

  2. Python里的一些注释规范

    写代码注释是一件很重要的事情,如果你写的一段函数给别人调用那么往往都需要配上一些基本的注释.写好代码可以让别人容易阅读你的代码.试想一 下:如果你在github上面找到一段你想要的代码,这段代码有20 ...

  3. 每天学一点——python注释规范

    python注释规范 python注释语法 这个是注释 注释是不影响代码运行的 当然注释也是有书写规范的,就像图片中的 注释前面#加空格再加上这条代码的注释(单行注释用#) 不然你会得到下面的结果 * ...

  4. 【python】编码规范(转载)

    转自:http://www.cnblogs.com/itech/archive/2012/01/06/2314454.html 1 编码 >>所有的 Python 脚本文件都应在文件头标上 ...

  5. Python代码编写规范

    Python代码编写规范 编码: a)     如无特殊情况,文件一律使用UTF-8编码 b)     如无需特殊情况,文件头部必须加入#-*-coding:utf-8-*- 缩进 a)     统一 ...

  6. 1.python的一些规范

    Python的一些规范 1.标识符 定义:允许作为名字的有效字符串集合 名字必须有实际意义,可读性好 首字母必须是字母或下划线(_) 剩下的字符可以是字母和数字或者下划线 大小写敏感 两种风格:con ...

  7. Python pep8代码规范

    title: Python pep8代码规范 tags: Python --- 介绍(Introduction) 官方文档:PEP 8 -- Style Guide for Python Code 很 ...

  8. python PEP8常用规范

    python 常用PEP8规范   一 代码编排 1 缩进.4个空格的缩进(编辑器都可以完成此功能),不使用Tap,更不能混合使用Tap和空格.2 每行最大长度79,换行可以使用反斜杠,最好使用圆括号 ...

  9. Python代码编写规范,你真的会吗?

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:yangjiajia123456  最近两年的工作都是和运维相关,有时 ...

随机推荐

  1. SpringAOP进阶

    利用代理工厂实现增强 com.Spring.proxyfactory中的IdoSomeService package cn.spring.proxyfactory; public interface ...

  2. 学到了林海峰,武沛齐讲的Day24-完 对象和实例

    学到这里估计就是坎了...日志都不想写了.. 对象和实例

  3. [APIO2015]八邻旁之桥——非旋转treap

    题目链接: [APIO2015]八邻旁之桥 对于$k=1$的情况: 对于起点和终点在同侧的直接计入答案:对于不在同侧的,可以发现答案就是所有点坐标与桥坐标的差之和+起点与终点不在同一侧的人数. 将所有 ...

  4. 查看日志tail命令

    打开终端,连接jboss: 命令: tail -f -n 500 /var/log/wildfly/wrapper.log

  5. php基础总结

    目录 PHP开发基础 运算符.表达式和流程控制语句 数组和字符串 函数 PHP与Web页面交互 PHP操作MySQL数据库 面向对象基础 期间看到的几篇有意思的博客 为什么 var_dump(&quo ...

  6. legend3---16、网站的安全性问题

    legend3---16.网站的安全性问题 一.总结 一句话总结: 通过客户端传递参数的方式也是有些危险,需要注意 单纯的获取数据的方法还好,但是 修改数据库方法一定要同时做前后端验证 1.php的b ...

  7. windows7 10 windows2008 windws2012 nfs客户端的安装

    servermanagercmd.exe -install FS-NFS-Services   for windows2008 windows2012 在添加功能角色-添加文件打印服务选择nfs客户端 ...

  8. raid卷性能测试

    #RAID卷 独立磁盘冗余阵列RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术.组成磁盘阵列的不同方式成为R ...

  9. IIS7下搭建PHP(FastCgiModule)

    windows2008和windows vista都可以安装IIS7 第一步: 下载软件, php官方网站:www.php.net(下载winfows版本) phpmyadmin官方网站:www.ph ...

  10. 通过adb操作安卓亮屏、设置背光亮度、解锁、打开app

    亮屏 adb shell inputkeyevent 26 keyevent 26表示点击power Android adb 点亮和关闭屏幕的命令 # kernel休眠 echo mem > / ...