Python 编码规范
编码规范即Python的样式指南由一份名为PEP8的文档提供。PEP8是Python Enhancement Proposal 8的缩写,它是一份为Python代码提供编码约定的文档。
以下是样式指南的内容−
命名规范
以下是当前推荐的命名标准。
避免使用以下名称
永远不要将字符‘l’(小写的字母“el”)、‘O’(大写的字母“oh”)或‘I’(大写的字母“eye”)作为单个字符的变量名称。
包和模块名称
模块应该使用简短的小写名称。如果使用下划线可以提高可读性,也可以在模块名中使用下划线。Python包也应该使用简短的小写名称,尽管不鼓励使用下划线。
类的名称
类名通常应遵循CapWords(驼峰式)的命名约定。如果接口已记录并且主要用作可调用对象,则可以使用函数的命名约定。
异常名称
类的命名约定也适用于异常。然而,你应该在异常名称上使用后缀“Error”。
函数和变量名称
函数名应该是小写的,单词之间用下划线分隔以提高可读性。
变量名遵循与函数名相同的约定。
函数和方法参数
实例方法的第一个参数应始终使用self。
类方法的第一个参数应始终使用cls。
方法名称和实例变量
使用函数命名规则:小写,单词之间用下划线分隔以提高可读性。
仅在非公共方法和实例变量中使用一个前导下划线。
为避免与子类冲突,使用两个前导下划线来调用Python的名称混淆规则。
常量
常量通常在模块级别上定义,并使用大写字母和下划线分隔单词。
缩进
该指南建议每个缩进级别使用4个空格。
制表符或空格
制表符应仅用于与已使用制表符缩进的代码保持一致性。
Python禁止混用制表符和空格缩进。
最大行长度
将所有行限制为最多79个字符。
导入
与任何其他Python中的语句或关键字一样,import语句应按照最佳实践正确使用并添加到代码中。让我们逐一看看它们−
多个导入
多个导入通常应分别在不同的行上。例如−
import numpy
import pandas
import matplotlib
永远置顶
导入始终放置在文件的顶部,即:
- 在任何模块注释和文档字符串之后。
- 在模块全局变量和常量之前。
例如:
# import the numpy module
import numpy
按顺序导入模块
一个好的实践是按照以下顺序导入模块:
- 标准库模块-例如sys,os,getopt,re。
- 第三方库模块-例如ZODB,PIL.Image等。
- 本地开发的模块。
绝对导入
推荐使用绝对导入,因为通常更易读,并且如果导入系统配置不正确,执行性能更好。例如:
import mypkg.sibling
from mypkg import sibling
from mypkg.sibling import example
通配符导入(来自 import *)应避免使用
避免使用通配符导入,因为它们使得在命名空间中存在哪些名称变得不清楚,这会使读者和许多自动化工具感到困惑。
表达式和语句中的空格
避免不必要的空格,例如以下情况:
在尾逗号之间
# Correct:
a = (0,)
# Wrong:
b = (0, )
**在逗号、分号或冒号之前: **
# Correct:
if a == 5: print(a, b); a, b = b, a
# Wrong:
if a == 5 : print(a , b) ; a , b = b , a
在函数调用的参数列表开始的括号之前立即
# Correct:
demo()
# Wrong:
demo ()
在开始索引或切片的开放括号之前立即
# Correct:
dct['key'] = lst[index]
# Wrong:
dct ['key'] = lst [index]
注释
-
注释应该是完整的句子。
-
第一个单词应该大写,除非它是以小写字母开头的标识符。
-
块注释通常由一个或多个段落组成,每个句子都以句号结尾。
-
在多句注释中,句子结束的句号后应该使用两个空格,除非是最后一句。
极客笔记