Python 什么是PEP 8

Python 什么是PEP 8

PEP 8是Python增强提案8。PEP 8是一份为Python代码提供编码规范的文档。

下面是编写干净代码和正确缩进的指南。

缩进

指南建议每级缩进使用4个空格。

制表符还是空格

制表符应该只用于保持与已经用制表符缩进的代码的一致性。

Python禁止混合使用制表符和空格进行缩进。

行的最大长度

将所有行限制在最大79个字符长度。

导入

导入语句,就像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

通配符导入(from import *)应该避免使用

避免使用通配符导入,因为它们会使命名空间中存在哪些名称变得不清楚,从而让读者和许多自动化工具感到困惑。

表达式和语句中的空白

在以下情况下应避免不必要的空白 −

在逗号后的空白处

# 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]

注释

  • 注释应该是完整的句子。

  • 除非是以小写字母开头的标识符,否则应该将第一个单词大写。

  • 块注释通常由一个或多个段落组成,每个句子以句号结尾。

  • 在多句注释中,句子结束后的句号后应该使用两个空格,最后一个句子除外。

命名规范

以下是目前推荐的命名标准。首先看一下常见的命名风格。

  • b(小写字母)
  • B(大写字母)
  • 小写字母
  • 使用下划线的小写字母
  • 大写字母
  • 使用下划线的大写字母

避免使用这些名称

永远不要使用‘l’(小写字母el)、‘O’(大写字母oh)或‘I’(大写字母eye)作为单个字符的变量名。

包和模块名称

模块应该有简短的全小写名称。如果使用下划线可以提高可读性,可以在模块名称中使用下划线。Python包也应该有简短的全小写名称,虽然不鼓励使用下划线。

类的名称

类名通常采用CapWords约定。在文档和主要作为可调用对象使用的接口方面,也可能使用函数的命名约定。

异常名称

这里应用类的命名约定。然而,你应该在异常名称上使用后缀“Error”。

函数和变量名称

  • 函数名应该是小写的,必要时可以使用下划线来分隔单词以提高可读性。

  • 变量名遵循与函数名相同的约定。

函数和方法参数

  • 实例方法的第一个参数应该始终使用self。

  • 类方法的第一个参数应该始终使用cls。

方法名称和实例变量

  • 使用函数命名规则:小写,必要时使用下划线分隔单词以提高可读性。

  • 仅对非公共方法和实例变量使用一个前导下划线。

  • 为了避免与子类产生名称冲突,使用两个前导下划线来调用Python的名称修饰规则。

常量

常量通常在模块级别定义,使用全大写字母,单词之间使用下划线分隔。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程