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中处理时间的几种方法小结
Apr 09 Python
Python爬虫番外篇之Cookie和Session详解
Dec 27 Python
python的staticmethod与classmethod实现实例代码
Feb 11 Python
Python连接Redis的基本配置方法
Sep 13 Python
Python编程图形库之Pillow使用方法讲解
Dec 28 Python
解析Python的缩进规则的使用
Jan 16 Python
Python一行代码实现快速排序的方法
Apr 30 Python
python selenium 查找隐藏元素 自动播放视频功能
Jul 24 Python
pandas read_excel()和to_excel()函数解析
Sep 19 Python
python多项式拟合之np.polyfit 和 np.polyld详解
Feb 18 Python
Python加载数据的5种不同方式(收藏)
Nov 13 Python
Python+Tkinter制作专属图形化界面
Apr 01 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函数
2017/01/15 PHP
载入进度条 效果
2006/07/08 Javascript
asp.net刷新本页面的六种方法总结
2014/01/07 Javascript
javascript基本算法汇总
2016/03/09 Javascript
浅析Javascript中bind()方法的使用与实现
2016/05/30 Javascript
关于angularJs指令的Scope(作用域)介绍
2016/10/25 Javascript
简单理解js的prototype属性及使用
2016/12/07 Javascript
jQuery常见的选择器及用法介绍
2016/12/20 Javascript
node.js与C语言 实现遍历文件夹下最大的文件,并输出路径,大小
2017/01/20 Javascript
详解NodeJS框架express的路径映射(路由)功能及控制
2017/03/24 NodeJs
webpack搭建vue 项目的步骤
2017/12/27 Javascript
JS实现滑动插件
2020/01/15 Javascript
利用webpack理解CommonJS和ES Modules的差异区别
2020/06/16 Javascript
ES6中的Javascript解构的实现
2020/10/30 Javascript
[49:27]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第一场
2018/04/05 DOTA
Python Mysql数据库操作 Perl操作Mysql数据库
2009/01/12 Python
Django实现组合搜索的方法示例
2018/01/23 Python
python的scikit-learn将特征转成one-hot特征的方法
2018/07/10 Python
对Python 两大环境管理神器 pyenv 和 virtualenv详解
2018/12/31 Python
Python 实现中值滤波、均值滤波的方法
2019/01/09 Python
python实现简单加密解密机制
2019/03/19 Python
Python爬虫学习之获取指定网页源码
2019/07/30 Python
Python通过VGG16模型实现图像风格转换操作详解
2020/01/16 Python
Python爬虫之App爬虫视频下载的实现
2020/12/08 Python
无畏的旅行:Intrepid Travel
2017/12/20 全球购物
京东奢侈品:全球奢侈品牌
2018/03/17 全球购物
美国婴儿和儿童家具网上商店:ABaby.com
2018/07/02 全球购物
美国修容界大佬创建的个人美妆品牌:Kevyn Aucoin Beauty
2018/12/12 全球购物
酒店应聘自荐信
2013/11/09 职场文书
大学生求职推荐信
2013/11/27 职场文书
评析教师个人的自我评价
2014/02/19 职场文书
小学教师师德承诺书
2014/05/23 职场文书
政府个人对照检查材料
2014/08/28 职场文书
2016年校园重阳节广播稿
2015/12/18 职场文书
redis中lua脚本使用教程
2021/11/01 Redis
golang中的struct操作
2021/11/11 Golang