一、标识符规则

  • 第一个字符必须是字母或下划线;
  • 其余字符可以是字母和数字或下划线;
  • 大小写敏感;
  • python中的关键字标识符以及“內建”(built-in)的标识符集合不可以使用
    注:1) built-in是__builtins__模块的成员,在程序开始或在交互解释器中>>>提示之前,由解释器自动导入。
    2) 下划线作为变量前缀和后缀指定特殊变量
  • __xxx 不用‘from module import *’导入
  • _xxx_ 系统定义名字
  • __xxx 类中的私有变量名
    下划线对解释器有特殊的意义,而且是內建标识符所使用的符号,当变量是私有的时候,用 __xxx表示变量是很好的习惯;当时普通变量时,应避免使用这种命名风格。
    二、注释
    注释应简洁、准确,放在合适的位置
    三、文档
    在模块、类声明、函数声明中第一个没有赋值的字符串可以用属性obj._doc_来进行访问,其中obj是模块、类、函数的名字。
    四、缩进
    python是通过缩进来表达代码逻辑的,一般使用4个空格进行缩进,但Tab制表符在不同的文本编辑器中设置不同,如果代码需要在不同平台上运行,或者需要使用不同的编辑器打开,建议不要使用Tab。
    五、标识符名称
    变量名称应该简短且意义丰富。
    六、模块结构和布局
    #(1)起始行:只有在类Unix环境下才使用起始行,起始行的作用是能够仅输入脚本名字就可执行脚本,无需直接调用解释器;
    #(2)模块文档:简要介绍模块的功能及重要全局变量的意义,模块外可通过module._doc_访问这些内容;
    #(3)模块导入:导入当前模块的代码需要的所有模块,每个模块仅导入一次;
    #(4)变量定义:这里的定义的变量都是全局变量,除非必须,否则尽量使用局部变量代替全局变量,以提高性能、节省内存;
    #(5)类定义:所有的类需要在这里定义;
    #(6)函数定义:定义的函数可以使用module.function()在外部被访问到;
    #(7)主程序:这里是测试代码。主程序模块中有大量的顶级可执行代码(没有缩进的代码行,在模块被导入时就会执行),其他被导入的模块只应该有很少的顶级执行代码,所有功能代码都应该封装在类或者函数中。
    python标准库中还提供了unittest模块,有时被称为PyUnit,是一个测试框架,当需要对一个大系统的组件进行正规系统的回归测试时,需要使用它来进行测试。