Python 中的 PEP 8 | PEP 8 在 Python 中有什么作用?2025年3月17日 | 阅读 10 分钟 在本教程中,我们将学习 PEP-8 是什么以及如何在 Python 编码中使用它。我们将讨论在编程中使用 PEP 的指南——本教程面向初学者到中级水平。我们还将讨论在编码时使用 PEP-8 的好处。 什么是 PEP?PEP 是 Python Enterprise Proposal 的缩写。编写具有适当逻辑的代码是编程的关键因素,但还有许多其他重要因素会影响代码的质量。开发者的编码风格使代码更加可靠,每个开发者都应该记住,Python 严格遵循字符串的顺序和格式。 采用良好的编码风格可以使代码更具可读性。代码对最终用户来说更容易理解。 PEP 8 是一个文档,提供了编写 Python 可读代码的各种指南。PEP 8 描述了开发者如何编写优雅的代码。它由 Guido van Rossum、Barry Warsaw 和 Nick Coghlan 于 2001 年正式撰写。PEP 的主要目标是提高代码的可读性和一致性。 为什么 PEP 8 很重要?PEP 8 提高了 Python 代码的可读性,但可读性为什么如此重要?让我们来理解这个概念。 Python 的创造者 Guido van Rossum 说:“代码被阅读的次数比被编写的次数多得多。”代码可能在几分钟、几小时或一整天内写完,但一旦我们写完代码,我们就再也不会重写它了。但有时,我们需要一遍又一遍地阅读代码。 在这一点上,我们必须了解为什么我们要写代码中的特定行。代码应该反映每一行的含义。这就是为什么可读性如此重要的原因。 我们将描述一些编写有效代码的重要指南,这些代码也可以被他人阅读。 命名约定当我们编写代码时,我们需要为许多事物分配名称,例如变量、函数、类、包等等。选择一个合适的名称将节省时间和精力。当过一段时间后我们再次查看文件时,我们可以轻松回忆起某个变量、函数或类代表什么。开发者应避免选择不恰当的名称。 Python 中的命名约定有点混乱,但有一些约定我们可以轻松遵循。让我们看看以下命名约定。 示例 - 单个小写字母 单个大写字母 小写 小写_带下划线 大写 大写_带下划线 首字母大写单词(或驼峰命名法) 注意:在使用缩写词时,CapWords 风格应将缩写词的所有字母都大写。因此 HTTPServerError 比 HttpServerError 更好。名称样式下表指定了 Python 中一些常见的命名样式。请考虑下表。
以上是一些有助于美化 Python 代码的常见命名约定。为了进一步改进,我们应该仔细选择名称。 代码布局代码布局决定了代码的可读性。在本节中,我们将学习如何使用空格来提高代码的可读性。 缩进与其他编程语言不同,Python 使用缩进来定义代码块。缩进是 Python 编程语言的重要组成部分,它决定了代码行的级别。通常,我们使用 4 个空格进行缩进。让我们通过以下示例来理解。 示例 - 在上面的示例中,如果 if 语句 的条件为真,则缩进的 print 语句将执行。此缩进定义了代码块,并告诉我们当函数被调用或条件触发时哪些语句会被执行。
我们也可以使用 制表符 来提供连续的空格以表示缩进,但空格是最优选的。Python 2 允许混合使用制表符和空格,但在 Python 3 中会报错。 换行后的缩进当使用换行符时,使用缩进至关重要,以便将行保持在 79 个字符以内。这提供了区分两行代码和一条延伸两行的代码的灵活性。让我们通过以下示例来理解。 示例 - 我们可以使用以下结构。 使用文档字符串Python 提供了两种类型的文档字符串(docstring)——单行和多行。我们使用三引号来定义单行或多行文档字符串。基本上,它们用于描述函数或特定程序。让我们通过以下示例来理解。 示例 - 二元运算符之前或之后是否应换行?在二元运算之前或之后换行是一种传统方法。但这会极大地影响可读性,因为运算符分散在不同的屏幕上,每个运算符都远离其操作数并移到上一行。让我们通过以下示例来理解。 示例 - 如上例所示,阅读起来相当混乱。我们可以使用以下结构来解决此类问题。 示例 - Python 允许我们在二元运算符之前或之后换行,只要局部保持一致即可。 导入模块我们应该将模块导入到单独的行中,如下所示。 错误 我们也可以使用以下方法。 导入语句应写在文件顶部,或者紧跟在任何模块注释之后。绝对导入是推荐的,因为它们更具可读性并且通常表现更好。 然而,我们可以使用显式的相对导入而不是绝对导入,特别是在处理复杂的包时。 空行空行可以提高 Python 代码的可读性。如果太多行代码挤在一起,代码将变得难以阅读。我们可以通过使用许多空白的垂直行来消除这种情况,读者可能需要滚动更多。请遵循以下说明来添加垂直空格。
上述方法可以去除空格以提高代码的可读性。 放置闭合括号我们可以使用换行符在括号、方括号内换行。PEP 8 允许我们在隐含换行时使用闭合括号。让我们通过以下示例来理解。
这两种方法都适用,但一致性是关键,所以选择一种并继续使用。 注释注释是任何编程语言的组成部分。它们是解释代码的最佳方式。当我们用适当的注释记录代码时,任何人都能理解代码。但我们应该记住以下几点。
块注释块注释是处理一小段代码的好选择。当我们将多行代码编写为一个操作(例如循环迭代)时,这些注释很有用。它们帮助我们理解代码的目的。 PEP 8 提供了以下编写注释块的规则。
让我们看以下代码。 我们可以为技术代码使用多个段落。让我们通过以下示例来理解。 行内注释行内注释用于解释代码中的单个语句。我们可以快速了解为什么写了那一行特定的代码。PEP 8 规定了行内注释的以下规则。
以下是行内注释的示例。 有时,我们可以使用命名约定来替换行内注释。 我们可以使用以下命名约定。 行内注释很重要,但块注释可以使代码更具可读性。 避免不必要地添加空格在某些情况下,使用空格会使代码更难阅读。过多的空格会使代码过于稀疏且难以理解。我们应该避免在行尾添加空格。这被称为尾随空格。 让我们看下面的例子。 示例 - 1 示例 - 3 编程建议众所周知,Python 中有几种执行类似任务的方法。在本节中,我们将看到 PEP 8 的一些建议来提高一致性。 避免使用等价运算符比较布尔值我们不应该使用等价运算符 == 来比较布尔值。它只能取 True 或 False。让我们看下面的例子。 这种方法很简单,因此 PEP 8 鼓励它。 空序列在 if 语句中被视为 False如果我们想检查一个给定的列表是否为空,我们可能需要检查列表的长度,所以我们需要避免以下方法。 但是,如果存在任何空列表、集合或元组。我们可以使用以下方法进行检查。 第二种方法更合适;因此 PEP 8 鼓励它。 在 if 语句中不要使用 not is有两种选择可以检查一个变量是否具有定义值。第一种选择是使用 x is not None,如下例所示。 第二种选择是评估 x is None,并在 if 语句中基于其结果取反。 这两种选择都是正确的,但第一种更简单,因此 PEP 8 鼓励它。 结论我们已经讨论了 PEP 8 的指南,以消除代码的歧义并提高可读性。这些指南可以改进代码,尤其是在与潜在员工或协作者共享代码时。我们已经讨论了 PEP 是什么以及它为什么被使用,如何编写符合 PEP 8 的代码。此外,我们还简要介绍了命名约定。如果您想了解有关 PEP 8 的更多信息,可以阅读完整文档或访问 PEP8.org。 下一个主题Python 用户组 |
理解二维码 二维码是一种机器可读的条形码,以二维像素化形式设计。二维码可用于存储各种数据。“QR”是“快速响应”(Quick Response)的缩写。二维码于1994年由日本工程师原昌宏(Masahiro Hara)发明...
5 分钟阅读
在本教程中,我们将学习 Python 3.11 的全新激动人心的功能。Python 社区正在努力使 Python 变得更好并提高其性能。现在,他们在新版本中带来了全新且有用的功能和属性...
阅读 3 分钟
学习机器学习和人工智能的课题并不容易。在本教程中,我们将能够获得许多关于用 Python 编写的人工智能项目的想法。为什么人工智能需求量大?人工智能开始...
5 分钟阅读
在本教程中,我们将学习如何将我们的输入或输出序列数据转换为 one-hot 编码,以便在序列分类中使用。One Hot Encoding 是机器学习的一个有用功能,因为很少有机器学习算法可以直接处理类别数据。在工作中……
阅读 8 分钟
在本教程中,我们将学习 Python 中的 currying,这是一个在 Python 中比较新的概念。大多数开发者可能不熟悉这个主题。我们将解释 currying 的概念、它的用例以及如何在 Python 中实现它。让我们开始……
阅读 6 分钟
全世界数百万用户使用消息应用程序 Telegram。此外,Telegram 还提供 API,允许我们构建机器人并自动化消息传输。因此,在本文中,我们将使用 Python 将消息发送给 Telegram 用户。您可能知道...
阅读 3 分钟
简介 Python 是一种健壮而灵活的编程语言,开发可维护且成功的代码需要清晰有效的函数。本文将探讨许多增强 Python 函数的技术,而无需使用繁琐或重复的代码。通过遵循这些清晰的编码实践,您可以制作出...
阅读 4 分钟
在本教程中,我们将编写程序来使用 Python 对两个列表进行排序和合并。我们将通过两种方法解决此问题——使用另一个列表或不使用另一个空间。使用 sort() 方法对两个列表进行排序和合并 以下程序将...
阅读 3 分钟
在本教程中,我们将编写一个 Python 程序,打印出列表元素所有可能的组合。我们将以三个不同的整数作为输入,并打印出这些数字所有可能的组合。这是一个相当简单的程序;它可能会被问到...
阅读 3 分钟
我们都知道桌面操作系统及其功能和工作原理。我们都听说过的一些最著名的操作系统是 Windows、Linux、macOS 和 ChromeOS。其中,ChromeOS 也是一种基于 Linux 的桌面操作系统,它...
阅读 10 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India