Python 什么是PEP8
在这篇文章中,我们将解释PEP8及其在Python中的用途。此外,我们还将看到在编码过程中它的优点。
什么是PEP8
PEP是Python企业建议的缩写。编写具有良好逻辑的代码是编程的一个关键方面,但许多其他重要因素也会影响代码的质量。开发者的编码风格使代码更可靠,每个开发者应该记住Python严格遵循字符串的顺序和格式。
良好的编码风格使代码更易读。代码简化了最终用户的操作。
PEP 8是一个包含关于如何编写可读性强的Python代码的各种准则的文档。PEP 8讨论了作为开发者如何构建优美的代码。它由Guido van Rossum、Barry Warsaw和Nick Coghlan于2001年正式编写。PEP的主要目标是提高代码的可读性和一致性。
PEP 8已经发展为大多数Python项目遵循的样式指南;它支持一种非常可读和视觉上吸引人的代码风格。每个Python编码者都应该在某个时候阅读它;
以下是一些要点。
缩进
在Python中,与其他编程语言不同,缩进用于定义代码块。代码行的级别由缩进确定,这是Python编程语言的一个重要特点。通常,我们采用4个空格作为缩进。
四个空格的规则并不总是必需的,并且可以忽略连续行的缩进。
示例
def functionName(first_variable, second_variable, third_variable, fourth_variable):
# giving 4 spaces for indentation
print(first_variable)
使用文档字符串
在Python中,你可以使用单行和多行文档字符串。而单行注释则适合放在一行上;在这两种情况下都使用三引号。它们用于定义一个特定的程序或一个特定的函数。
示例
def tutorialspoint():
"""It is an example for single line docstring"""
"""It is
an example for
multiline comment"""
行应该被包裹,以使其不超过79个字符
Python标准库比较保守,要求行的长度限制在79个字符以内。可以使用括号、方括号和大括号来包裹行。应该优先使用它们,而不是使用反斜杠。
范例
with open('/path/from/where/you/want/to/read/file') as fileOne, \
open('/path/where/you/want/the/file/to/be/written', 'w') as fileTwo:
file_two.write(file_one.read())
命名约定
为了使程序更简单、更易读,应遵守一些命名标准。同时,Python的命名约定有点混乱,但以下是一些可以轻松遵循的约定。
对于作为API公共元素对用户可见的名称,应遵循代表用法而不是实现的约定,据一个总体原则。
| 单个小写字母 | e = 2 |
|---|---|
| 单个大写字母 | E = 2 |
| 小写字母 | num = 5 |
| 带下划线的小写字母 | input_number = 5 |
| 大写字母 | NUM = 2 |
| 带下划线的大写字母 | INPUT_NUMER = 5 |
| 首字母大写的单词/驼峰命名法 | InputNumber = 10 |
注意事项
当使用首字母大写的缩写词时,请确保将缩写词中的所有字母都大写。因此,HTTPServerError比HttpServerError更好。
Python中的命名约定
下表列出了Python中一些常见的命名风格-
| 类型 | 命名规范 | 示例 |
|---|---|---|
| 函数 | 可以使用小写字母或下划线分隔的单词。 | demofunction, demo_function |
| 变量 | 为了提高可读性,可以使用小写字母、单词或下划线分隔的单词。 | n, num, input_num |
| 类 | 类名的首字母应大写或使用驼峰命名法,不应使用下划线分隔单词。 | DemoClass, Model, Tutorialspoint |
| 方法 | 为了提高可读性,可以使用小写字母、单词或下划线分隔的单词。 | demo_method, methodname |
| 常量 | 可以使用简短的大写字母、单词或下划线分隔的单词。 | DEMOCONSTANT, CONSTANT, DEMO_CONSTANT |
| 模块 | 可以使用小写字母、单词或下划线分隔的单词。 | Module_name.py, module.py |
| 包 | 可以使用小写字母、单词或不使用下划线分隔的单词。 | package, demopackage |
空行
通过使用空行,可以提高Python代码的可读性。当多行代码被分组在一起时,代码变得更难阅读。我们可以利用许多空的垂直线来消除这种情况,但读者可能需要滚动超出必要的范围。要添加垂直的空白,按照以下步骤进行。
顶级函数和类两行 - 在它们周围添加额外的垂直空间,使其更易读。
class MyFirstClass:
pass
class MySecondClass:
pass
def main_function():
return None
类中的单个空白行 - 在类中定义的函数彼此相关。
class MyFirstClass:
def first_method(self):
return None
def second_method(self):
return None
在函数内部使用空行 − 有时候我们需要创建一个复杂的函数,在返回语句之前包含多个步骤。因此,我们可以在每个步骤之间插入一个空行。
注释
注释是任何编程语言中的重要元素。这是描述代码的最有效的方式。当我们用适当的注释记录我们的代码时,任何人都可以理解它。但请记住以下几点。
- 以大写字母开始并写完整个句子。
-
如果代码发生变化,请更新注释。
-
注释和文档字符串的行长度限制为72个字符。
块注释
块注释是一个小部分代码的解决方案。当编写多行代码以实现单个动作(例如循环迭代)时,这些注释非常有用。它们帮助我们理解代码的目的。
- 块注释应该与其它代码以相同的缩进级别缩进。
-
每一行以 # 和一个空格开头。
-
使用一个单独的 # 来分隔每一行。
示例
# Assigning the value of name (Block Line comment)
name = "TutorialsPoint"
行内注释
行内注释在代码中用于描述代码的一部分中的单个语句。我们可以很容易地看出为什么我们开发了这个特定的代码行。PEP 8中指定了行内注释的以下限制。
- 以a和一个空格开头的注释。
-
谨慎使用行内注释。
-
我们应该将行内注释与它们所指的语句分开放置在同一行上。
name = "TutorialsPoint" # Assigning the value of name (InLine comment)
结论
在本文中,我们了解了Pep8是什么以及如何使用各种方法编写优质代码。
极客笔记