什么是pep 8?

什么是pep 8?

PEP 8指的是Python Enhancement Proposal 8。PEP 8是一份文件,提供了Python代码的编码规范。

下面是编写具有适当缩进的干净代码的指南。

更多Python相关文章,请阅读:Python 教程

缩进

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

Tab还是空格

制表符应仅用于与已用制表符缩进的代码保持一致。

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]
# 错误的:
dct ['key'] = lst [index]

评论

  • 评论应该是完整的句子。

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

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

  • 在多句评论中,句子结束后应使用两个空格,除了最后一个句子。

命名约定

以下是目前推荐的命名标准。让我们首先看看常见的命名样式

  • b(单个小写字母)
  • B(单个大写字母)
  • 小写
  • 带下划线的小写
  • 大写字母
  • 带下划线的大写字母

避免使用这些名称

永远不要使用’1’(小写字母el),’O’(大写字母哦)或’I’(大写字母眼)作为单个字符变量名称。

包和模块名称

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

类名

类名通常使用CapWords约定。在文档和API以“可调用”为主要方式使用的情况下,可以使用函数名称约定。

异常名称

此处适用类命名约定。但是,应在异常名称上使用后缀“Error”。

函数和变量名称

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

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

函数和方法参数

  • 对于实例方法的第一个参数始终使用self

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

方法名称和实例变量

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

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

  • 为避免与子类名称冲突,请使用两个前导下划线来调用Python的名称缩写规则。

常量

常量通常在模块级别上定义,并使用下划线分隔单词的所有大写字母编写。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程