Python编程规范

打破一条既定规则的两个理由:

  • 应用这个规则将导致代码可读性下降。
  •  为了和周围的代码保持一致。

编码

  •  所有的 Python 脚本文件都应在文件头标上如下标识或其兼容格式的标识:
# -*- coding:utf-8 -*-
  •  设置编辑器,默认保存为utf-8格式。

缩进

  • 永远不要混用制表符和空格。
  • 最流行的Python缩进方式是仅使用空格,其次是仅使用制表符。
  • 使用空格缩进时默认设置为4个空格。

断行

  • 行的最大长度不得超过79字符。
  • 对顺序排放的大块文本(文档字符串或注释),推荐将长度限制在72字符。
  • 折叠长行的首选方式是使用 Python 支持的圆括号,方括号和花括号内的行延续。
  • 可以使用反斜杠来断行,断行的位置应在操作符前,且换行后多一个缩进。

空行

  • 对函数和类用两个空行分隔,对类的方法用一个空行分隔。
  • 在import不同种类的模块之间增加空行。

导入

  • 一条import语句import一个模块。
  • 最好不要使用from moudle import *。
  • Imports 通常被放置在文件的顶部。仅在模块注释和文档字符串之后,模块的全局变量和常量之前。
  • import 的次序,先 import Python 的内置模块,再 import 第三方模块,最后 import 自己开发的项目中的其它模块。

空格

  • 在二元算术符、逻辑运算符前后加空格。
  • 括号(含圆括号、方括号和花括号)前后不加空格。
  • 逗号、冒号、分号前面不加空格,后面加一个空格(冒号在行尾后面不用加空格)。
  • 等号用于指定参数或默认参数值时,两边不要加空格。

命名

  • 永远不要用小写字母 l ,大写字母 O ,大写字母 I 作为单字符的变量名。
  • 常量名所有字母大写,用下划线连接各个单词。
  • 变量名和函数名所有字母小写,用下划线连接各个单词。且变量名不应带有类型信息。
  • 模块名和包名所有字母小写,简短且不含下划线。
  • 类名使用首字母大写的单词串,不含下划线。

分枝和循环

  • 不要将多条语句写在同一行上。
  • 多使用循环语句的 else 分句,以简化代码。

注释

  • 注释分为两种,一种是由 # 开头的“真正的”注释,另一种是文档字符串。前者表明为何选择当前实现以及这种实现的原理和难点,后者表明如何使用这个包、模块、类、函数(方法),甚至包括使用示例和单元测试。
  • 坚持适当注释原则。对不存在技术难点的代码坚持不注释,对存在技术难点的代码必须注释。当代码修改时,应始终优先更新注释。
  • 注释应该是完整的句子,每个句子以句号结尾。如果注释很短,则省略末尾的句号。
  • 如果注释是一个短语或句子,首字母应该大写,除非它是一个以小写字母开头的标识符。
  • 注释块应具有与代码相同的缩进层次。注释块中每行以’#’和一个空格开始(除非他是注释内的缩进文本)。注释块内的段落以仅含单个’#’的行分割。 注释块上下方最好有一空行包围。
  • 行内注释应该至少用两个空格和语句分开,它们应该以’#’和单个空格开始。

文档字符串

  • 为所有公共模块、函数、类和方法编写文档字符串。文档字符串对非公开的方法不是必要的,但需要有一个描述这个方法做什么的注释,这个注释应该在”def”这行后。
  • 多行文档字符串结尾的””” 应该单独成行。

其他

  • 对象类型的比较应该始终用isinstance()代替直接比较类型。
if isinstance(obj, int):
  • 不要用 “==” 比较布尔型的值以确定是True或False,如:
if greeting == True:

应该写成:

if greeting:

你可能感兴趣的:(Python编程规范)