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 开发Activex组件方法
Nov 08 Python
Python 字符串操作方法大全
Mar 11 Python
python字符串连接方式汇总
Aug 21 Python
python实现计算倒数的方法
Jul 11 Python
对Python3.6 IDLE常用快捷键介绍
Jul 16 Python
Python列表对象实现原理详解
Jul 01 Python
python实现微信自动回复及批量添加好友功能
Jul 03 Python
Pandas之排序函数sort_values()的实现
Jul 09 Python
python定位xpath 节点位置的方法
Aug 27 Python
Python函数中的可变长参数详解
Sep 12 Python
python实现密码验证合格程序的思路详解
Jun 01 Python
发工资啦!教你用Python实现邮箱自动群发工资条
May 10 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
如何在php中正确的使用json
2013/08/06 PHP
php函数实现判断是否移动端访问
2015/03/03 PHP
php面向对象基础详解【星际争霸游戏案例】
2020/01/23 PHP
科讯商业版中用到的ajax空间与分页函数
2007/09/02 Javascript
jQuery实现的类flash菜单效果代码
2010/05/17 Javascript
jquery 学习之一 对象访问
2010/11/23 Javascript
jquery中获取select选中值的代码
2011/06/27 Javascript
JS读取XML文件示例代码
2013/11/15 Javascript
jquery实现弹出层效果实例
2015/05/19 Javascript
基于jQuery 实现bootstrapValidator下的全局验证
2015/12/07 Javascript
使用JS中的exec()方法构造正则表达式验证
2016/08/01 Javascript
基于JS实现回到页面顶部的五种写法(从实现到增强)
2016/09/03 Javascript
js设置文字颜色的方法示例
2016/12/30 Javascript
JavaScript中call和apply方法的区别实例分析
2018/08/03 Javascript
vue实现微信分享功能
2018/11/28 Javascript
nvm、nrm、npm 安装和使用详解(小结)
2019/01/17 Javascript
JS异步执行结果获取的3种解决方式
2019/02/19 Javascript
vue 实现Web端的定位功能 获取经纬度
2019/08/08 Javascript
js回调函数仿360开机
2019/12/26 Javascript
[02:59]DOTA2完美大师赛主赛事第三日精彩集锦
2017/11/25 DOTA
[51:50]完美世界DOTA2联赛 Magma vs GXR 第一场 11.07
2020/11/10 DOTA
Python不规范的日期字符串处理类
2014/06/10 Python
python3+pyqt5+itchat微信定时发送消息的方法
2019/02/20 Python
Python数据类型之Number数字操作实例详解
2019/05/08 Python
Python使用百度api做人脸对比的方法
2019/08/28 Python
使用Keras中的ImageDataGenerator进行批次读图方式
2020/06/17 Python
解析HTML5中的新功能本地存储localStorage
2016/03/01 HTML / CSS
留学推荐信写作指南
2014/01/25 职场文书
太太口服液广告词
2014/03/20 职场文书
2015企业年终工作总结范文
2015/05/27 职场文书
监护人证明
2015/06/19 职场文书
2016年三严三实党课学习心得体会
2016/01/06 职场文书
NodeJs内存占用过高的排查实战记录
2021/05/10 NodeJs
解读MySQL的客户端和服务端协议
2021/05/10 MySQL
CentOS7环境下MySQL8常用命令小结
2022/06/10 Servers
Win Server2016远程桌面如何允许多用户同时登录
2022/06/10 Servers