使用注释
1 规范
1.1 单行注释
使用#号进行注释
如: #单行注释
1.2 多行注释
文档字符串,是包、模块、类、函数的第一个语句,可以通过对象的doc 属性被自动提取,也可以被pydoc工具提取。 使用三个双引号或单引号来注释多行内容 如:
'''
单引号进行多行注释
'''
"""
双引号进行多行注释
"""
1.3 注释位置
文档字符串型注释,用来对模块、类、函数进行说明,放在模块文件开头,类和函数的第一个语句,起到说明的作用。
模块:
每个文件应该包含一个许可样板. 根据项目使用的许可(例如, Apache 2.0, BSD, LGPL, GPL), 选择合适的样板
类:
类应该在其定义下有一个用于描述该类的文档字符串. 如果你的类有公共属性(Attributes), 那么文档中应该有一个属性(Attributes)段. 并且应该遵守和函数参数相同的格式. """类功能简短说明
功能详细说明 Attributes: one: 第一个属性
函数:
下文所指的函数,包括函数, 方法, 以及生成器.
一个函数必须要有文档字符串, 除非它满足以下条件:
1.外部不可见 2.非常短小
3.简单明了
文档字符串应该包含函数做什么, 以及输入和输出的详细描述. 通常, 不应该描述”怎么做”, 除非是一些复杂的算法. 文档字符串应该提供足够的信息, 当别人编写代码调用该函数时, 他不需要看一行代码, 只要看文档字符串就可以了. 对于复杂的代码, 在代码旁边加注释会比使用文档字符串更有意义.
关于函数的几个方面应该在特定的小节中进行描述记录, 这几个方面如下文所述. 每节应该以一个标题行开始. 标题行以冒号结尾. 除标题行外, 节的其他内容应被缩进2个空格.
Args:需要的参数 列出每个参数的名字, 并在名字后使用一个冒号和一个空格, 分隔对该参数的描述.如果描述太长超过了单行80字符,使用2或者4个空格的悬挂缩进(与文件其他部分保持一致). 描述应该包括所需的类型和含义. 如果一个函数接受foo(可变长度参数列表)或者bar (任意关键字参数), 应该详细列出foo和**bar
Return(Yields):返回的类型 描述返回值的类型和语义. 如果函数返回None, 这一部分可以省略.
Raises:抛出的异常 列出与接口有关的所有异常.
块注释和行注释,主要用来说明代码中用到的技巧部分,防止下次看时,遗忘。
对于复杂的操作, 应该在其操作开始前写上若干行注释. 对于不是一目了然的代码, 应在其行尾添加注释.
2 工具
python3 自带了一个注释文档生成工具,pydoc,可以基于注释生成帮助文档
生成命令:
# 启用一个web服务进行查看, 这里启动 8888端口的一个web服务
python -m pydoc -p 8888
# 直接查看一个 文件
python -m pydoc file.py
# 生成html文件
python -m pydoc [file or dir]
# 关键词查找
python -m pydoc -k [关键词]
3 Html说明
class展示
1.只能展示class下的注释,不会展示class下方法的注释 2.class上面有#注释时,展示#号的注释 3.class下有”””多行注释”””时优先展示多行注释,就不展示顶部的#号的注释了
function展示
1.function上面有#注释时,展示#号的注释 2.function下有”””多行注释”””时优先展示多行注释,就不展示顶部的#号的注释了