| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> Python学习笔记 - Python编程规范 -> 正文阅读 |
|
[Python知识库]Python学习笔记 - Python编程规范 |
前言????????俗话说:“没有规矩不成方圆”。编程工作往往都是一个团队协同进行,因而一致的编码规范非常重要,这样写成的代码便于团队中的其他人阅读,也便于编写者自己以后阅读。 ????????本文的Python语言编程规范借鉴了Python官方的PEP8编码规范和谷歌Python编码规范。
一、命名规范????????程序代码中到处都是标识符,因此取一个一致并且符合规范的名字非常重要。Python中命名规范采用多种不同方式。不同的代码元素命名不同,下面将分类说明。
二、注释规范Python中的注释的语法有三种:单行注释、多行注释和文档注释。 2.1? 文件注释????????文件注释就是在每一个文件开头添加注释,采用多行注释。文件注释通常包含如下信息:版权信息、文件名、所在模块、作者信息、历史版本信息、文件内容和作用等。 下面是一个文件注释的示例:
上述注释只是提供了版权信息、文件内容和历史版本等信息,文件注释要根据实际情况包含内容。 2.2? 文档注释????????文档注释就是文档字符串,注释内容能够生成API帮助文档,可以使用 Python 官方提供的 pydoc 工具从 Python 源代码文件中提取这些信息,也可以生成 HTML 文件。所有公有的模块、函数、类和方法都应该进行文档注释。 ??????? 文档注释规范有些“苛刻”。文档注释推荐使用一对三重双引号(""")包裹起来,注意不推荐使用三重单引号(''')。文档注释应该位于被注释的模块、函数、类和方法内部的第一条语句。如果文档注释一行就能够注释完成,结束的三重双引号也在同一行。如果文档注释很长,第一行注释之后要留一个空行,然后剩下的注释内容换行要与开始三重双引号对齐,最后结束的三重双引号要独占一行,并与开始三重双引号对齐。 【示例】文档注释示例:
????????上述第1处注释是只有一行的文档注释,第2处注释是多行的文档注释,注意它的第一行后面是一个空行,第3处接着进行注释,它要与开始三重双引号对齐。第4处是结束三重双引号,它独占一行,而且要与开始三重双引号对齐。 2.3? 代码注释????????程序代码中处理文档注释时还需要一些关键的地方添加代码注释,文档注释一般是给一些看不到源代码的人看的帮助文档,而代码注释是给阅读源代码的人参考的。代码注释一般采用单行注释和多行注释。 【示例】
????????上述代码第1处和第4处都是单行注释,要求与其后面的代码具有一样的缩进级别。第2、3处是多行注释,注释时要求与其后面的代码具有一样的缩进级别。 2.4? 使用 TODO 注释PyCharm 等 IDE 工具都为源代码提供了一些特殊的注释,就是在代码中加一些标识,便于IDE工具快速定位代码,TODO 注释就是其中的一种。TODO注释虽然不是官方所提供的,但是主流IDE工具也都支持TODO注释。有TODO注释说明此处有待处理的任务,或代码没有编写完成。 【示例】
这些注释可以在PyCharm工具的TODO视图查看,在PyCharm视图中选择TODO,单击其中的TODO就可以跳转到TODO注释处了。 三、导入规范导入语句总是放在文件顶部,位于模块注释和文档注释之后,模块全局变量和常量之前。每一个导入语句只能导入一个模块。示例代码如下: 【推荐】
【不推荐】
但是如果from...import 后面跟多个代码元素是可以的。
????????导入语句应该按照从通用到特殊的顺序分组,顺序是:标准库—>第三方库—>自己模块。每一组之间有一个空行,而且组中模块是按照英文字母顺序排序的。
四、代码排版代码排版包括空行、空格、断行和缩进等内容。代码排版内容比较多,工作量大,也非常重要。 4.1? 空行空行用以将逻辑不相关的代码段分隔开,以提高阅读性。下面是使用空行的规范。 (1)import 语句块前后保留两个空行。 示例代码如下,其中(1)(2)处和(3)(4)处是两个空行。
(2)函数声明之前保留两个空行。 示例代码如下,其中(1)(2)处是两个空行。
(3)类声明之前保留两个空行。 示例代码如下,其中(1)(2)处是两个空行。
(4)方法声明之前保留一个空行。 示例代码如下,其中(1)处是一个空行。
(5)两个逻辑代码块之间应该保留一个空行。 4.2? 空格代码中的有些位置是需要有空格的,这个工作量也很大。下面是使用空格的规范。 (1)赋值符号 “=” 前后要各有一个空格。
(2)所有的二元运算符都应该使用空格与操作数分开。
(3)一元运算符:减法运算符 “-” 和 按位取反运算符 “~” 跟操作数之间没有空格。
(4)括号内不要有空格,Python中的括号包括小括号“()”、中括号“[]”和大括号“{}”。 【推荐】
【不推荐】
(5)不要在逗号、分号、冒号前面有空格,而是要在它们后面有一个空格,除非该字符已经是行尾了。 【推荐】
【不推荐】
(6)参数列表、索引或切片的左括号前不应有空格。 【推荐】
【不推荐】
4.3? 缩进????????4个空格常被作为缩进排版的一个级别。虽然在开发时程序员可以使用制表符进行缩进,而默认情况下一个制表符等于8个空格,但是不同IDE工具中一个制表符与空格对应个数会有不同,所以不要使用制表符缩进。 ??????? 代码块的内容相当于首行缩进一个级别(4个空格) 4.4? 断行????????一行代码中最多120个字母,对于文档注释和多行注释时一行最多80个字符,但是如果注释中包含URL地址可以不受这个限制。否则,如果超过则需断行,可以依据下面的一般规范断行。 (1)在逗号后面断行。
(2)在运算符前面断行。
(3)尽量不要使用续行符 “\”,当有括号(包括小括号、中括号和大括号)则在括号中断行,这样就可以不使用续行符。
????????上述代码第1处使用了续行符进行断行,其他的断行都是在括号中实现的,所以省略了续行符。有时为了省略续行符,会将表达式用小括号括起来,如下代码所示。
参考《Python从小白到大牛(第1版-2018)》第5章 - Python编码规范 《疯狂Python讲义(2018.12)》 《Python编程:从入门到实践(2016.7)》 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 14:29:19- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |