Python代码注释规范代码实例解析


Posted in Python onAugust 14, 2020

一、代码注释介绍

  • 注释就是对代码的解释和说明,其目的是让人们能够更加轻松地了解代码。
  • 注释是编写程序时,写程序的人给一个语句、程序段、函数等的解释或提示,能提高程序代码的可读性。
  • 在有处理逻辑的代码中,源程序有效注释量必须在20%以上。

二、代码注释分类

行注释:在符号后那一行不会被编译(显示)

块注释:被块注释符号中间的部分不会被编译

三、python代码注释基础

Python中使用#表示单行注释。单行注释可以作为单独的一行放在被注释代码行之上,也可以放在语句或表达式之后。如下例子:

name = 'xiaohong' # 单行注释

# 单行注释
name = 'xiaohong'

Python中使用三个单引号或三个双引号表示多行注释。用在注释多写不下的情况,如下例子:

'''
这是使用三个单引号的多行注释
'''

"""
这是使用三个双引号的多行注释
"""

四、DocStrings介绍与使用

4.1 DocStrings介绍

文档字符串

是一个重要工具,用于解释文档程序,帮助你的程序文档更加简单易懂

4.2 python中使用DocStrings

在函数体的第一行使用一对三个单引号 ''' 或者一对三个双引号 """ 来定义文档字符串。你可以使用 doc(注意双下划线)调用函数中的文档字符串属性。

编写示例如下:

def add(num1,num2):
  """ 完成传入的两个数之和

  :param num1: 加数1
  :param num2: 加数2
  :return: 和
  """
  return num1 + num2

print( add.__doc__ )

备注:DocStrings 文档字符串使用惯例:它的首行简述函数功能,第二行空行,第三行为函数的具体描述。

五、DocStrings常用编写风格

5.1 reST风格

这是现在流行的一种风格,reST风格,Sphinx的御用格式,比较紧凑。

"""
This is a reST style.

:param param1: this is a first param
:param param2: this is a second param
:returns: this is a description of what is returned
:raises keyError: raises an exception
"""

5.2 Google风格

"""
This is a groups style docs.

Parameters:
 param1 - this is the first param
 param2 - this is a second param

Returns:
 This is a description of what is returned

Raises:
 KeyError - raises an exception
"""

5.3 Numpydoc (Numpy风格)

"""
My numpydoc description of a kind
of very exhautive numpydoc format docstring.

Parameters
----------
first : array_like
 the 1st param name `first`
second :
 the 2nd param
third : {'value', 'other'}, optional
 the 3rd param, by default 'value'

Returns
-------
string
 a value in a string

Raises
------
KeyError
 when a key error
OtherError
 when an other error
"""

六、一些注释经验

  • 注释不是越多越好。对于一目了然的代码,不需要添加注释。
  • 对于复杂的操作,应该在操作开始前写上相应的注释。
  • 对于不是一目了然的代码,应该在代码之后添加注释。
  • 绝对不要描述代码。一般阅读代码的人都了解Python的语法,只是不知道代码要干什么

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python基于matplotlib绘制栈式直方图的方法示例
Aug 09 Python
Request的中断和ErrorHandler实例解析
Feb 12 Python
Python cookbook(数据结构与算法)找到最大或最小的N个元素实现方法示例
Feb 13 Python
opencv改变imshow窗口大小,窗口位置的方法
Apr 02 Python
python3学生名片管理v2.0版
Nov 29 Python
Python基于matplotlib画箱体图检验异常值操作示例【附xls数据文件下载】
Jan 07 Python
Django使用Jinja2模板引擎的示例代码
Aug 09 Python
python3操作注册表的方法(Url protocol)
Feb 05 Python
使用python matplotlib 画图导入到word中如何保证分辨率
Apr 16 Python
使用python-cv2实现视频的分解与合成的示例代码
Oct 26 Python
pycharm进入时每次都是insert模式的解决方式
Feb 05 Python
pytorch 中forward 的用法与解释说明
Feb 26 Python
Python发送邮件实现基础解析
Aug 14 #Python
Python压缩模块zipfile实现原理及用法解析
Aug 14 #Python
Python编写memcached启动脚本代码实例
Aug 14 #Python
Python自动巡检H3C交换机实现过程解析
Aug 14 #Python
基于python调用jenkins-cli实现快速发布
Aug 14 #Python
使用tensorflow进行音乐类型的分类
Aug 14 #Python
10行Python代码实现Web自动化管控的示例代码
Aug 14 #Python
You might like
PHP4 与 MySQL 交互使用
2006/10/09 PHP
PHP实例分享判断客户端是否使用代理服务器及其匿名级别
2014/06/04 PHP
Yii中render和renderPartial的区别
2014/09/03 PHP
php生成zip文件类实例
2015/04/07 PHP
PHP如何获取Cookie并实现模拟登录
2020/07/16 PHP
通过Javascript创建一个选择文件的对话框代码
2012/06/16 Javascript
js仿百度贴吧验证码特效实例代码
2014/01/16 Javascript
NODE.JS加密模块CRYPTO常用方法介绍
2014/06/05 Javascript
JavaScript中DOM详解
2015/04/13 Javascript
js实现当复选框选择匿名登录时隐藏登录框效果
2015/08/14 Javascript
理解Javascript的call、apply
2015/12/16 Javascript
详解JavaScript时间格式化
2015/12/23 Javascript
使用JS正则表达式 替换括号,尖括号等
2016/11/29 Javascript
nodejs 实现钉钉ISV接入的加密解密方法
2017/01/16 NodeJs
详解jQuery中ajax.load()方法
2017/01/25 Javascript
vue2.0$nextTick监听数据渲染完成之后的回调函数方法
2018/09/11 Javascript
vue + any-touch实现一个iscroll 实现拖拽和滑动动画效果
2019/04/08 Javascript
详细讲解如何创建, 发布自己的 Vue UI 组件库
2019/05/29 Javascript
JS变量提升原理与用法实例浅析
2020/05/22 Javascript
vue treeselect获取当前选中项的label实例
2020/08/31 Javascript
Python字符串详细介绍
2015/05/09 Python
Python Requests库基本用法示例
2018/08/20 Python
python 美化输出信息的实例
2018/10/15 Python
对pandas数据判断是否为NaN值的方法详解
2018/11/06 Python
jupyter notebook 中输出pyecharts图实例
2020/04/23 Python
Python进程间通信 multiProcessing Queue队列实现详解
2019/09/23 Python
前后端结合实现amazeUI分页效果
2020/08/21 HTML / CSS
学校食堂采购员岗位职责
2013/12/05 职场文书
应届毕业生求职信范文分享
2013/12/26 职场文书
奶茶专卖店创业计划书
2014/01/18 职场文书
反四风对照检查材料
2014/09/22 职场文书
2014年党的群众路线学习心得体会
2014/11/05 职场文书
2014年民政工作总结
2014/11/26 职场文书
2015年国庆节广播稿
2015/08/19 职场文书
幼儿园教学反思范文
2016/03/02 职场文书
解决persistence.xml配置文件修改存放路径的问题
2022/02/24 Java/Android