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 相关文章推荐
Python3.0与2.X版本的区别实例分析
Aug 25 Python
Python实现数据库编程方法详解
Jun 09 Python
python实现逻辑回归的方法示例
May 02 Python
Python金融数据可视化汇总
Nov 17 Python
Python机器学习之K-Means聚类实现详解
Feb 22 Python
浅谈python中真正关闭socket的方法
Dec 18 Python
Python爬虫实战之12306抢票开源
Jan 24 Python
用Python解决x的n次方问题
Feb 08 Python
python实现处理mysql结果输出方式
Apr 09 Python
python如何随机生成高强度密码
Aug 19 Python
Python time库的时间时钟处理
May 02 Python
Python实现位图分割的效果
Nov 20 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
Laravel学习教程之View模块详解
2017/09/18 PHP
Yii框架数据库查询、增加、删除操作示例
2019/10/14 PHP
B/S开发中常用javaScript技术与代码
2007/03/09 Javascript
JavaScript中继承的一些示例方法与属性参考
2010/08/07 Javascript
jquery Moblie入门—hello world的示例代码学习
2013/01/08 Javascript
jquery的ajax简单结构示例代码
2014/02/17 Javascript
jquery实现显示已选用户
2014/07/21 Javascript
javascript中数组的定义及使用实例
2015/01/21 Javascript
jQuery判断指定id的对象是否存在的方法
2015/05/22 Javascript
Jquery检验手机号是否符合规则并根据手机号检测结果将提交按钮设为不同状态
2015/11/26 Javascript
Bootstrap轮播图学习使用
2017/02/10 Javascript
Vue cli构建及项目打包以及出现的问题解决
2018/08/27 Javascript
jquery获取元素到屏幕四周可视距离的方法
2018/09/05 jQuery
小程序跨页面交互的作用与方法详解
2020/01/07 Javascript
在Webpack中用url-loader处理图片和字体的问题
2020/04/28 Javascript
Vue实现背景更换颜色操作
2020/07/17 Javascript
[00:52]DOTA2齐天大圣预告片
2016/08/13 DOTA
Python中运行并行任务技巧
2015/02/26 Python
python实现指定字符串补全空格、前面填充0的方法
2018/11/16 Python
Python面向对象实现一个对象调用另一个对象操作示例
2019/04/08 Python
python下的opencv画矩形和文字注释的实现方法
2019/07/09 Python
基于SpringBoot构造器注入循环依赖及解决方式
2020/04/26 Python
基于python代码批量处理图片resize
2020/06/04 Python
python装饰器实现对异常代码出现进行自动监控的实现方法
2020/09/15 Python
CSS3模拟动画下拉菜单效果
2017/04/12 HTML / CSS
英国的知名精品百货公司:House of Fraser(福来德)
2016/08/14 全球购物
美国眼镜网站:EyeBuyDirect
2017/04/13 全球购物
小学新学期教师寄语
2014/01/18 职场文书
《老王》教学反思
2014/02/23 职场文书
创意婚礼策划方案
2014/05/18 职场文书
医生爱岗敬业演讲稿
2014/08/26 职场文书
党员作风建设自查报告
2014/10/23 职场文书
上课睡觉万能检讨书
2015/02/17 职场文书
2015年成本会计工作总结
2015/10/14 职场文书
简单了解 MySQL 中相关的锁
2021/05/25 MySQL
详解Python类和对象内容
2021/06/22 Python