1. 一致性的发起
冲破一条既定法则的两个好来由
当应用这个法则将导致代码可读性下降,纵然对付或人来说他已经习惯于凭据这条法则来阅读代码了
为了和周围的代码保持一致而冲破法则(也许是汗青原因)
2. 代码的机关
缩进
4个空格
代码行
行最大长度 : 79字符
推荐长度 : 72字符
支解方法 : "" , "()" , "{}"
空行
两行空行支解顶层函数和类的界说
一行空行支解要领或函数
特别空行支解相关函数群
类界说与第一个要领界说需要一行空行
编码
万年 "UTF-8"
导入
先import尺度模块,再from … import第三方模块(绝对路径) ,最后from … import自建模块
每组导入空一行,一行导入一个包[模块,类等]
空格
紧贴种种括号
紧贴逗号,分号,冒号前
紧贴函数挪用参数列表前开放式括号
紧贴再索引或切片括号
二元操纵符或运算符或逻辑等双方各留一个空格
默认参数或要害参数"="不留空格
3. 注释
注释块
与相应代码有着沟通缩进
行内注释
与代码被注释代码同行,以"#"+" "开头
文档注释
末了处 """ 单独成行
版本注记
模块文档字符串之后,所有代码之前,上下空行支解
4. 定名
约定
模块名 : 不含下划线 ; 小写 ; 剪短
类名,异常名 : 首字母大写单词串
要领,函数 : 第一个字母小写的首字母大写单词串
属性,实例,变量 : 小写字母串
担任
私有 : 双下划线开头
非公有 : 单下划线开头
定名斗嘴
不低落可读性,能改就改,不能就在末端加单个下划线可能数字
5. 设计发起
利用"is"或"is not"举办对"None"的单值较量
利用字符串要领取代字符串模块
利用startswith()和endswith()查抄前后缀而不是利用切片
利用isinstance()判定工具是否是字符串而不是利用type()
判定空序列或字典不要利用len()
书写字符串文字不要依赖有意义的后置空格
不要用"=="较量布尔值
文章转自:http://www.cnblogs.com/erliang/p/4065605.html