刚开始在新浪暑期实习,和导师沟通,希望能多接触一些Python运维自动化开发,所以,查看了一些编码规范的相关内容,现摘录如下,共勉!(摘自:编写高质量Python代码的59个有效方法)
1、空白
1)使用空格来表示缩进,而不要使用tab
2)和语法相关的每一层缩进都用四个空格来表示
3)每行的字符数不超过79
4)对于占据多行的长度表达式来说,除了行首之外的其余各行都应在通常的缩进级别上再加四个空格
5)文件中的函数和类之间应该用两个空行分开
6)在同一类中,各方法之间应该用同一个空行分隔
7)在使用下标来获取列表元素、调用函数或给关键字参数赋值的时候,不要在两旁添加空格
8)在为变量赋值时,赋值符号的左侧和右侧应该各自写上一个空格,而且只写一个就好
2、命名
1)函数、变量及属性应该用小写字母来拼写,各单词之间应该用下划线相连。如:lowercase_underscore。
2)受保护的实例属性,应以单个下划线来开头,例如:_leading_underscore
3)私有实例属性,应该以两下划线开头,例如:__double_leading_underscore
4)类和异常,应该以每个单词首字母都大写的形式来命名,例如,CapitalizedWord
5)模块级别的常量,应该使用大写字母来拼写,各单词之间应该以下划线相连,例如:ALL_CAPS
6)类中的实例方法,应该把首个参数命名为self,以表示该对象自身
7)类方法的首个参数,应命名为cls,以表示该类自身
3、表达式和语句
1)采用内联形式的否定词,而不要把否定词放在整个表达式的前面,例如:写if a is not b 而不是写 if not a is b
2)不要通过检测长度的方法(如:if len(somelist) == 0)来判断somelist是否为[]或“”等值,而应该采用if not somelist 这种写法来判断,它会假设,空值自动评估为False
3)检测非空值为[1]或’hi’等非空值时,也应该如此,if somelist 语句默认会把非空的值判断为True
4)不要编写单行的if 语句、for循环、while循环及except复合语句,而是应该把这些语句分成多行来写,以示清晰
5)import 语句应该总放在文件开头
6)引入模块时,总应该使用绝对名称,而不应该使用当前模块的路径来使用绝对名称。例如,引入bar包中的foo模块时,应该完整的写出from bar import foo,而不应该简写为import foo
7)如果一定要以相对名称来编写import语句,那就采用明确的写法:from . import foo
8)文件中的那些import 语句应该按顺序划分为三部分,分别表示为标准库模块、第三方模块、及自用模块。在每一部分中各import语句应按模块的字母顺序来排序