Python 程序的编码规范(风格指南)?
编码规范,即 Python 的风格指南,由名为 PEP8 的文档提供。PEP8 是 Python 增强提案 8。它是一个提供 Python 代码编码约定的文档。
以下是风格指南:
命名约定
以下是当前推荐的命名标准。
避免使用这些名称
切勿将字符“l”(小写字母 el)、“O”(大写字母 oh)或“I”(大写字母 eye)用作单字符变量名。
包和模块名称
模块应具有简短、全部小写的名称。如果可以提高可读性,则可以在模块名称中使用下划线。Python 包也应具有简短、全部小写的名称,尽管不鼓励使用下划线。
类名
类名通常应使用 CapWords 约定。在接口已记录且主要用作可调用对象的情况下,可以使用函数命名约定。
异常名称
此处适用类命名约定。但是,您应该在异常名称上使用后缀“Error”。
函数和变量名称
函数名应为小写,必要时用下划线分隔单词以提高可读性。
变量名遵循与函数名相同的约定。
函数和方法参数
始终对实例方法的第一个参数使用 self。
始终对类方法的第一个参数使用 cls。
方法名和实例变量
使用函数命名规则:小写,必要时用下划线分隔单词以提高可读性。
仅对非公共方法和实例变量使用一个前导下划线。
为了避免与子类发生名称冲突,请使用两个前导下划线以调用 Python 的名称改编规则。
常量
常量通常在模块级别定义,并以全大写字母编写,并使用下划线分隔单词。
缩进
指南建议每个缩进级别使用 4 个空格。
制表符或空格
制表符应仅用于保持与已使用制表符缩进的代码一致。
Python 不允许混合使用制表符和空格进行缩进。
最大行长
将所有行限制为最多 79 个字符。
导入
import 语句,就像 Python 中的任何其他语句或关键字一样,都应正确使用并添加到代码中,遵循最佳实践。让我们逐一了解它们:
多个导入
多个导入通常应位于单独的行上。例如:
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
通配符导入(fromimport *)应避免
避免使用通配符导入,因为它们使命名空间中存在的名称不清楚,从而使读者和许多自动化工具都感到困惑。
表达式和语句中的空格
避免不必要的空格,如下列情况所示:
在尾随逗号之后
# 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]
注释
注释应为完整的句子。
第一个单词应大写,除非它是一个以小写字母开头的标识符。
块注释通常由一个或多个由完整句子组成的段落组成,每个句子以句号结尾。
在多句注释中,句尾句点后应使用两个空格,最后一个句子除外。