缩进、行的最大长度、空行、import导入、注释、约定俗成的命名约定、编程建议
1.代码布局:上下左右总体布局
缩进:4个空格一个缩进层次,通常在if语句、for语句和while语句等等后面,一个tab键等于4个空格
行的最大长度:一般每行不超过80字符
空行:用俩行空行用单个空行分割顶层函数和类的定义
类内方法的定义用单个空行分割
当空行用于分割方法的定义时,在class行和第一个方法定义之间也要有一个空行
2.导入:主要有三个方面
单独的行中导入,一行只能有一个模块
从一个模块中导入多个子模块
把模块重新自定义为新的名字:是为了简化模块名
3.表达式和语句中的空格
逗号、分号、冒号后要各空一格
紧挨着的园括号、方括号、和花括号的
要紧贴在索引或切片(slicing?下标?)开始的开式括号前
在赋值(或其它)运算符周围,用于和其它并排的一个以上的空格
始终在这些二元运算符两边放置一个空格,赋值(=), 比较(==, <, >, !=, <>, <=, >=, in, not in, is, is not), 布尔运算 (and, or, not)
不要在用于指定关键字参数或默认参数值的'='号周围使用空格
不要将多条语句写在同一行上
4.注释、单行和多行注释
行内注释:一个行内注释是和语句在同一行的注释.行内注释应该谨慎适用。行内注释应该至少用两个空格和语句分开,它们应该以’#'和单个空格开始。
多行注释:注释块通常应用于跟随着一些(或者全部)代码并和这些代码有着相同的缩进层次。注释块中每行以’#'和一个空格开始(除非他是注释内的缩进文本)。注释块上下方最好有一空行包围(或上方两行下方一行,对一个新函数定义段的注释)
5.命名
模块名:模块应该是不含下划线的,简短的,小写的名字.例如:re/time/pymysql
类名:几乎没有例外,类名总是使用首字母大写单词串(CapWords)的约定。例如:MyCat/WeChat
异常名:如果模块对所有情况定义了单个异常,它通常被叫做"error"或"Error". 似乎内建(扩展)的模块使用"error"(例如:os.error), 而 Python 模块通常用"Error" (例如: xdrlib.Error).
函数名:函数名应该为小写,可能用下划线风格单词以增加可读性. mixedCase 仅被允许用于这种风格已经占优势的上下文(如: threading.py) 以便保持向后兼容.
方法名和实例变量:这段大体上和函数相同:通常使用小写单词,必要时用下划线分隔增加可读性;使用一个前导下划线仅用于不打算作为类的公共接口的内部方法和实例变量;使用两个前导下划线以表示类私有的名字.