1.1 命名规范
包名
全部小写字母,中间可以由点分隔开,不推荐使用下滑线。
作为命名空间,包名应该具有唯一性,推荐采用公司或组织域名的倒置。如com.apple.quicktime.v2
模块名
全部小写字母,如果多个单词构成,可以用下划线隔开。如dummy_threading.
类名
采用大驼峰法命名。如SplitViewController
异常名
异常属于类,命名同类命名,但应以Error作为后缀。如FileNotFoundError
变量名
全部小写字母,如果多个单词构成,可用下划线隔开。如果变量应用于模块或函数内,则变量名可以由单下划线开头;
变量类内部私有使用变量名可以双下划线开头。不要命名双下划线开头和结尾的变量,这是Python保留的。
另外,避免使用小写L大写O和大写I作为变量名。
函数名和方法名
命名同变量命名。如balance_account,_push_cm_exit
常量名
全部大写字母,如果是由多个单词构成,可以用下划线隔开。如YEAR,WEEK_OF_MONTH
扩展
大驼峰法命名是驼峰命名的一种,驼峰命名是指混合使用大小写字母来命名。
驼峰命名分为小驼峰法和大驼峰法。
小驼峰法就是第一个单词全部小写,后面的单词首字母大写。如myRoomCount;
大驼峰法是第一各单词的首字母也大写。如ClassRoom.
1.2 注释规范
Python中注释的语法有三种:单行注释,多行注释和文档注释。
以下说明如何规范使用。
1,文件注释
文件注释就是在每一个文件开头添加注释,采用多行注释。(每行加#号)
文件注释通常包括版权信息,文件名,所在模块,作者信息,历史版本信息,文件内容和作用等。
2, 文档注释
文档注释就是文档字符串,注释内容能够生成API帮助文档。一般给一些看不到源代码的人看的帮助文档。
可以使用Python官方提供的pydoc工具从Python源代码文件中提取这些信息,也可生成HTML文件。
所有公有的模块,函数,类和方法都应该进行文档注释。
文档注释使用一对三重双引号“"""”包裹起来,应位于被注释的模块,函数,类和方法内部的第一条语句。
如果文档注释一行能够注释完成,结束的三重双引号也在同一行。
如果文档注释很长,第一行注释之后要留一个空行,然后剩下的注释内容换行要与开始三重双引号对齐,
最后结束的三重双引号要独占一行,并于开始三重双引号对其。
3, 代码注释
代码注释是给阅读源代码的人参考的。
一般采用单行和多行注释。
4, 使用TODO注释
TODO注释不是Python官方所提供,但主流IDE工具也都支持TODO注释。
TODO注释说明此处有待处理的任务或代码没有编写完成。
1.3 导入规范
导入语句总是放在文件顶部,位于模块注释和文档注释之后,模块全局变量和常量之前。
每个导入语句只能导入一个模块,但如果from import后面跟有多个代码元素是可以的。
导入语句应该按照从通用到特殊的顺序分组。顺序是:标准库->第三方库->自己模块。
每一组之间有一个空行,而且组中模块是按照英文字母顺序排列的。
1.4 代码排版
代码排版包括空行,空格,断行和缩进等内容。
代码排版内容多,工作量大,非常重要。
一,空行
空行用以将逻辑相关代码段分隔开,以提高可读性。
1,import语句块前后保留两个空行(共四个空行)。
2,函数或类声明之前保留两个空行。
3,方法声明之前保留一个空行。
4,两个逻辑代码块之间应保留一个空行。
二,空格
1,赋值符号“="前后各有一个空格。 a = 10 , b = 20
2,所有二元运算符都应该使用空格与操作数分开。 a += c + d
3,一元运算符:算法运算符取反"-"和运算符取反"~".
4,括号内不要有空格,Python中括号包括小括号"()",中括号"[]"和大括号"{}". doque(cat[1],{dogs:2},[])
5,不要在逗号,分号,冒号前面有空格,而是要在他们后面又一个空格,除非该符号已经是行尾了。
if x == 88:
print(x, y)
x, y = y, x
6,参数列表,索引或切片的左括号前不应有空格。
doque(1)
dogs['key'] = list[index]
三,缩进
4个空格常被作为缩进排版的一个级别。不要使用制表符缩进(八个空格)。
四,断行
一行代码中最多79个字符,对于文档注释和多行注释时一行最多72个字符。
如果注释中包含URL地址可以不受这个限制。
如果超过限制则需要断行。
断行位置可以是:
1,在逗号后面断开。
2,在运算符前面断开。
3,尽量不要使用续行符"\",当有括号(无论大中小)则在括号中断开,这样可以不使用续行符。
扩展
在Python中反斜杠"\"可以作为续行符使用,告诉解释器当前行和下一行是连接在一期的。
但在大括号,中括号和小括号中续行是隐式的。