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 21 Python
Pyhton中防止SQL注入的方法
Feb 05 Python
简单的编程0基础下Python入门指引
Apr 01 Python
Python 专题二 条件语句和循环语句的基础知识
Mar 19 Python
Python语言描述连续子数组的最大和
Jan 04 Python
python+opencv实现动态物体追踪
Jan 09 Python
对python xlrd读取datetime类型数据的方法详解
Dec 26 Python
利用python在excel里面直接使用sql函数的方法
Feb 08 Python
Python TestCase中的断言方法介绍
May 02 Python
Python3 使用map()批量的转换数据类型,如str转float的实现
Nov 29 Python
TensorFlow加载模型时出错的解决方式
Feb 06 Python
python非标准时间的转换
Jul 25 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代码
2007/03/08 PHP
destoon二次开发模板及调用语法汇总
2014/06/21 PHP
PHP全局使用Laravel辅助函数dd
2019/12/26 PHP
PHP连接SQL server数据库测试脚本运行实例
2020/08/24 PHP
JQuery浮动DIV提示信息并自动隐藏的代码
2010/08/29 Javascript
国外大牛IE版本检测!现在IE都到9了,IE检测代码
2012/01/04 Javascript
js解析与序列化json数据(三)json的解析探讨
2013/02/01 Javascript
JS在textarea光标处插入文本的小例子
2013/03/22 Javascript
jquery实现的蓝色二级导航条效果代码
2015/08/24 Javascript
js轮播图代码分享
2016/07/14 Javascript
node操作mysql数据库实例详解
2017/03/17 Javascript
详解React Native开源时间日期选择器组件(react-native-datetime)
2017/09/13 Javascript
解决Vue打包之后文件路径出错的问题
2018/03/06 Javascript
vue实现分页组件
2020/06/16 Javascript
vue实现滑动切换效果(仅在手机模式下可用)
2020/06/29 Javascript
vue 返回上一页,页面样式错乱的解决
2019/11/14 Javascript
Vue常用传值方式、父传子、子传父及非父子实例分析
2020/02/24 Javascript
[01:18]DOTA2超级联赛专访hanci ForLove淘汰感言曝光
2013/06/04 DOTA
Python中用于去除空格的三个函数的使用小结
2015/04/07 Python
EM算法的python实现的方法步骤
2018/01/02 Python
10款最好的Python开发编辑器
2019/07/03 Python
简单了解Django应用app及分布式路由
2019/07/24 Python
Python+redis通过限流保护高并发系统
2020/04/15 Python
python为什么要安装到c盘
2020/07/20 Python
Python Selenium库的基本使用教程
2021/01/04 Python
纯CSS实现菜单、导航栏的3D翻转动画效果
2014/04/23 HTML / CSS
Jo Malone美国官网:祖玛珑香水
2017/03/27 全球购物
小米乌克兰网上商店:Xiaomi.UA
2019/10/29 全球购物
陈欧广告词
2014/03/14 职场文书
企业安全生产月活动总结
2014/07/05 职场文书
一份恶作剧的检讨书
2014/09/13 职场文书
团代会邀请函
2015/02/02 职场文书
小学生节水倡议书
2015/04/29 职场文书
卡特教练观后感
2015/06/08 职场文书
MySQL 数据类型详情
2021/11/11 MySQL
多台电脑共享文件怎么设置?多台电脑共享文件操作教程
2022/04/08 数码科技