PEP-8

原址:https://legacy.python.org/dev/peps/pep-0008/

PEP-8

缩进

         每级缩进使用4个空格

         续行应该与被圆括号、花括号、方括号包裹起来的其他元素对齐,或者使用悬挂缩进

         使用悬挂缩进要注意:第一行不能有参数,且应该多一层缩进以便于与续行区分开

         右括号回退,右括号应该顶行写

Tab键

         空格是首选的缩进方式,制表符只能用于与同样适用制表符缩进的代码保持一致

单行最大长度

         每行最大长度是79个字符

         文档字符串、注释等最大宽度是72个字符

         一般续行可以使用反斜杠,而括号内续行不需要使用反斜杠

空行

         顶层函数和类的定义,前后用两个空行隔开

         类里的方法定义使用一个空行

模块导入

         每个模块应该单独成行

    导入总是位于文件顶部,在模块注释和文档字符串之后,在模块的全局变量与常量之前

    导入顺序:标准库 ----- 相关的第三方库 ----- 本地库

    尽量避免使用通配符*导入

    各个import的组需要用空行隔开

    组内的模块的导入顺序按照首字母排列

字符串

         单引号与双引号作用一样,但必须保证成对出现

         建议句子使用双引号,单词使用单引号,但不强制

表达式和语句中的空格

         各种括号里面避免空格

         逗号、分号和冒号之前避免空格

         但是如果冒号作为分隔符,那么前后都要加空格

         函数调用的左括号之前不能有空格

         赋值等操作符前后不能为了对齐而添加多个空格

         函数默认参数使用的赋值符左右省略空格

    不要将多句语句写在同一行,哪怕if等语句中只有一句

注释:

         块注释:

                   使用与代码相同级别的缩进

                   注释的每一行开头使用一个#和一个空格

                   块注释的内部段落通过只有一个#的空行分隔

         行内注释:

                   与代码语句同行,至少要有两个空格分隔,由#和一个空格开始

                   谨慎使用

命名规范

         包和模块名尽量简短,全部使用小写字母,模块名可以使用下划线连接,包名不可以

         类名建议使用驼峰体

         全局变量名应尽量只在模块内部使用

         函数名应该为全部小写,以下划线连接

         常量名应全部使用大写字母,可以使用下划线

         异常名,遵从类名的规则,如果是error的话,以Error为后缀

编码建议:

         考虑到其他python实现的效率问题,运算符+应该用.join()方法替代

         尽可能使用’is’ ’is not’取代’==’

         异常类应该继承自Exception 而不是BaseException

         异常中不要使用裸露的except,except后跟具体的exceptions

         异常中try的代码应该尽量少

         使用字符串的方法,而不是string模块

         使用startswith()和endswith()两个方法替代切片进行序列前缀或后缀的检查

         使用isinstance() 比较对象的类型

         空序列类型对象的bool为False,可以直接用于if判断

         不要用 ==和is进行bool比较

         字符串不要以空格收尾

猜你喜欢

转载自www.cnblogs.com/Interstellar-cooper/p/8962599.html