设置代码格式

既然你正在编写更长的程序,那么学习如何一致地设计你的代码是个好主意。 花时间使您的代码尽可能易于阅读。 编写易于阅读的代码可以帮助您跟踪程序在做什么,也可以帮助其他人理解您的代码。

Python 程序员已经就许多样式约定达成一致,以确保每个人的代码都以大致相同的方式构建。 一旦你学会了编写干净的 Python 代码,你应该能够理解其他人的 Python 代码的整体结构,只要他们遵循相同的指导方针。 如果你希望在某个时候成为一名专业的程序员,你应该尽快开始遵循这些指南来养成良好的习惯。

格式设置指南

当有人想要更改 Python 语言时,他们会编写 Python 增强建议 (PEP)。最古老的 PEP 之一是 PEP 8,它指导 Python 程序员如何设计代码样式。 PEP 8 相当冗长,但其中大部分涉及比您目前所见更复杂的编码结构。 编写 Python 风格指南时理解代码被阅读的次数多于编写的次数。 您将编写一次代码,然后在开始调试时开始阅读它。 当您向程序添加功能时,您将花费更多时间阅读您的代码。 当你与其他程序员分享你的代码时,他们也会阅读你的代码。 如果要在编写更易于编写的代码或更易于阅读的代码之间做出选择,Python 程序员几乎总是会鼓励您编写更易于阅读的代码。 以下准则将帮助您从一开始就编写清晰的代码。

缩进

PEP 8 建议您在每个缩进级别使用四个空格。 使用四个空格可以提高可读性,同时为每行的多级缩进留出空间。

在文字处理文档中,人们通常使用制表符而不是空格来缩进。 这适用于文字处理文档,但当制表符与空格混合时,Python 解释器会感到困惑。 每个文本编辑器都提供一个设置,允许您使用 TAB 键,然后将每个制表符转换为一定数量的空格。 您绝对应该使用 TAB 键,但还要确保您的编辑器设置为在文档中插入空格而不是制表符。

在文件中混用制表符和空格会导致很难诊断的问题。 如果您认为混合使用制表符和空格,则可以在大多数编辑器中将文件中的所有制表符转换为空格。

行长

许多 Python 程序员建议每行应少于 80 个字符。 从历史上看,制定此准则是因为大多数计算机在终端窗口的一行中只能容纳 79 个字符。 目前,人们可以在屏幕上显示更长的行,但还有其他原因需要遵守 79 个字符的标准行长度。

专业程序员经常在同一个屏幕上打开多个文件,使用标准行长度可以让他们看到在屏幕上并排打开的两个或三个文件中的整行。 PEP 8 还建议您将所有注释限制为每行 72 个字符,因为一些为大型项目生成自动文档的工具会在每个注释行的开头添加格式字符。

PEP 8 的行长度指南并不是一成不变的,一些团队更喜欢 99 个字符的限制。 学习时不要太担心代码中的行长,但请注意协作工作的人几乎总是遵循 PEP 8 准则。 大多数编辑器允许您设置视觉提示,通常是屏幕上的一条垂直线,向您显示这些限制在哪里。

附录 B 向您展示了如何配置您的文本编辑器,使其在您每次按下 TAB 键时始终插入四个空格,并显示一条垂直指南以帮助您遵守 79 个字符的限制。

空行

要直观地对程序的各个部分进行分组,请使用空行。 您应该使用空行来组织您的文件,但不要过度使用。 通过遵循本书中提供的示例,您应该取得适当的平衡。 例如,如果您有五行代码构建一个列表,然后另外三行代码对该列表执行某些操作,则在两部分之间放置一个空行是合适的。 但是,您不应在两个部分之间放置三个或四个空行。

空行不会影响代码的运行方式,但会影响代码的可读性。 Python 解释器使用水平缩进来解释代码的含义,但它忽略垂直间距。

其他格式设置指南

PEP 8 有许多额外的样式建议,但大多数指南所指的程序比你此时编写的程序更复杂。 当您学习更复杂的 Python 结构时,我将分享 PEP 8 指南的相关部分。

自己试试
4-14.PEP 8

https://python.o rg/dev/peps/pep-0008 查看原始的 PEP 8 风格指南。 你现在不会用到太多,但浏览一下可能会很有趣。

4-15.Code Review

选择你在本章中编写的三个程序并修改每个程序以符合 PEP 8。每个缩进级别使用四个空格。 将你的文本编辑器设置为在你每次按下 TAB 键时插入四个空格,如果你还没有这样做的话(请参阅附录 B 了解如何执行此操作的说明)。 每行使用少于 80 个字符,并将您的编辑器设置为在第 80 个字符位置显示垂直参考线。 不要在程序文件中过多地使用空行。

总结

在本章中,您学习了如何有效地使用列表中的元素。 您学习了如何使用 for 循环处理列表,Python 如何使用缩进来构建程序,以及如何避免一些常见的缩进错误。 您学会了制作简单的数字列表,以及可以对数字列表执行的一些操作。 您学习了如何对列表进行切片以使用项目子集以及如何使用切片正确复制列表。 您还了解了元组,它为一组不应更改的值提供一定程度的保护,以及如何设计日益复杂的代码以使其易于阅读。

在第 5 章中,您将学习如何使用 if 语句对不同的条件做出适当的响应。 您将学习将相对复杂的条件测试集串在一起,以准确响应您正在寻找的情况或信息。 您还将学习在遍历列表时使用 if 语句对列表中的选定元素执行特定操作。