代码风格和规范
PEP 8 规范
Python 的编码风格广泛遵循一种名为 PEP 8 的风格指南。PEP 8,即 Python Enhancement Proposal 8,是一个官方文档,描述了 Python 代码的编写约定,目的是提高 Python 代码的可读性和一致性。
这个规范非常详尽,条目繁多,这里提取一些最主要的指导原则:
- 缩进: 使用 4 个空格进行缩进,不建议使用制表符(Tab)。每级缩进应为 4 个空格。
- 行宽: 每行代码建议不超过 79 个字符,这样有利于在小屏幕上查看,也便于并排放置多个文件。对于长的表达式,应适当换行,并保持逻辑上的连贯。
- 空行: 顶层定义之间空两行,如类定义。方法定义之间空一行。在函数中也应该添加必要的空行来区分逻辑段落。
- 导入: 导入语句应该分行书写。导入顺序:标准库导入、相关第三方导入、本地应用/库特定导入,每一组之间用空行分隔。建议每行只导入一个模块。但对于从模块中导入具体对象(如 from subprocess import Popen, PIPE),可以在一行中导入多个名称。
- 空格: 赋值(
=)、比较(==,!=等)、算术运算符(+,-等)的两侧通常应各添加一个空格。例外情况: 在函数的参数列表中,用于指定默认值或关键字参数的=号两侧不应有空格(例如:def func(key=value):)。函数参数列表、索引或切片的括号内侧也不应有空格。 - 注释: 注释应当与其描述的代码相同缩进。注释应该是完整的句子。如果注释是短语或句子,其首字母应大写,除非是以代码内的标识符(即代码内变量等)开始。函数、类或模块的第一行通常使用三引号(
"""...""")格式的字符串作为文档字符串(Docstring),用于说明其功能。代码逻辑的解释性注释则使用#号格式。 - 命名: 类名通常使用首字母大写、无下划线的 CamelCase 风格。函数名和变量名通常使用小写、用下划 线分割单词的 snake_case 风格。常量通常使用全大写字母 UPPER_CASE 风格。
- 语句:每一行只写一条语句,不要使用分号。
自动格式化代码
现在有很多工具可以帮我们自动化格式化程序代码,让代码风格保持一致,提高代码可读性。这些工具可以自动地调整代码的格式,如缩进、空格、换行等,使代码更加整洁和标准化。
PyCharm 自带的代码格式化工具
PyCharm 是一款流行的 Python 集成开发环境(IDE),提供了许多强大的功能,其中包括代码自动化格式化。PyCharm 自带了代码格式化的功能,可以轻松地对代码进行格式化,使其符合PEP 8等编码规范。
如果需要手动格式化一个 Python 文件,可以在打开的 Python 文件中,选择 Code -> Reformat Code 或使用快捷键(在大多数情况下是 Ctrl+Alt+L 在Windows/Linux上,Option+Command+L 在MacOS上)。然后文件就会被按照规范格式化。
我们也可以设置自动在保存时格式化文件,这样就不需要手动调整了。进入 File -> Settings(或 PyCharm -> Preferences 在 MacOS 上)。在 Tools -> Actions on Save 中,勾选 Reformat code 选项,就可以让 PyCharm 自动格式化代码文件。
使用第三方的代码 格式化工具
如果觉得 IDE 自带的工具不够好,我们还可以使用其它一些工具对代码进行格式化。此外,在 VSCode 中,微软推荐使用独立的格式化扩展。点击左侧扩展图标,搜索并安装 "Black Formatter" 扩展(由 Microsoft 发布)。安装完成后,在设置中将 Default Formatter 选为 Black Formatter 即可使用。
常用的代码格式化工具有很多,比如 Black、Flake8、autopep8 和 YAPF 等等。以 Black 为例,我们在使用它之前需要先安装:
pip install black
在 PyCharm 中,进入 File -> Settings -> Tools -> External Tools。点击 "+" 添加新工具。在 “Name” 字段中输入工具名(Black)。在 “Program” 字段中输入工具的路径(可能需要在终端中运行 which black(MacOS/Linux)或 where black(Windows)来找到路径)。在 “Arguments” 字段中输入 。在 “Working directory” 字段中输入 。完成后,就可以通过 Tools -> External Tools -> Black 来运行 Black 格式化。
在 VSCode 中的设置也比较类似,点击 VSCode 左侧边栏的扩展图标。搜索 “Python” 并选择由 Microsoft 发布的 Python 扩展,点击安装。然后选择格式化工具如 Black。之后就可以使用了。