在学习一门编程语言时,了解其相关编码规范,有助于后期编写代码的质量的提升。
代码的编码格式
- 一般来说代码的编码格式是必须要声明的,例如Python代码的开头加上如下代码:
# -- coding: utf-8 --
- 若Python源文件未声明编码格式,Python解释器会默认使用ASCII编码,当出现非ASCII编码的字符时就会报错,若出现编码问题可尝试如果下解决方法:
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
分号
- Python不需要在行未加分号,也不要用分号将两条命令放在同一行。
行的最大长度
- 每行不超过80个字符,以下情况除外:
注释中的url
长的导入模块语句 - 不要使用反斜杠连接行
- Python会将括号(圆括号、中括号、花括号)中的行隐式的连接起来
- 如果一个文本字符串在一行放不下,可以使用圆括号来实现隐式连接:
str = ('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy')
缩进规则
- Python采用缩进和冒号(:)来区分不同层次间的代码块,比如类定义、函数定义、控制流语句、异常处理语句等,用行尾加冒号和下一行缩进,表示下一代码块的开始,缩进的结束表示代码块的结束。
- Python一般采用4个空格做为缩进量,对于同一作用域的代码缩进量必须一致,但具体缩进多少没有强制规定。
- 强烈推荐缩进仅用空格而不使用制表符。
注释
- Python单行注释采用#号,#号后要跟一个空格。
- Python多行注释采用:“”“注释内容”""或’‘‘注释内容’’’
- 注释是说明自己做了什么,而不是对代码本身的解释
- 当修改代码时,优先更改注释。
空行
- 编码格式声明、模块导入、常量和全局变更的声明、顶级定义和代码之间空两行
- 顶层函数和类定义,用两个空行隔开
- 类中的各个方法有一个空行隔开
空格使用规则
- 在二元运算符两边各空一格,比如赋值(=)、比较(==, <, >, !=, <>, <=, >=, in, not in, is, is
not), 布尔(and, or, not),算术操作符两边的空格可灵活使用,但两侧务必要保持一致 - 不要在逗号、分号、冒号前面加空格,但应该在它们后面加(除非在行尾)
- 函数的参数列表中,逗号之后要有空格,但默认值等号两边不要添加空格
- 左括号之后,右括号之前不要加添加空格
- 参数列表, 索引或切片的左括号前不应加空格
- 当’='用于指示关键字参数或默认参数值时,不要在其两侧使用空格
命名规范
- 模块命名:模块尽量使用小写字母,首字母保持小写,尽量不要用下划线(除非多个单词,且数量不多的情况)
- 变量命名:尽量小写,多个单词用下划线隔开,尽量不使用字母I和O,在有些字体里面与数据字0和1很难用肉眼区分容易出错。
- 常量或全局变量命名:全大写,多个单词用下划线隔开
- 函数命名:全部小写,多个单词用下划线隔开,如果是私有函数则在名称前加一个下划线
- 类命名:使用驼峰式命名规范,首字母大写,多个单词时单词首字母大写,私有类名称用下划线开头。
- 类里面的函数及其参数:始终将self作为实例方法的第一个参数,始终将cls作为类方法的第一个参数,若函数参数名与关键字冲突,在名称后面加下划线会比随意缩写要好。
- 注意:
不要使用没意义的名称,如:aaa,bbb,ccc等。
不要怕名称长就随意使用简称。
bool变量一般加上前缀is_,如:is_success。
不要使用关键字命名。