PEP8——Python代码规范

姓名:张轩

学号:20011214440

转载自:https://blog.csdn.net/lanchunhui/article/details/49797685

【嵌牛导读】最近工作中越来越认识到代码规范的重要性,会很大程度提高自己的代码质量和可读性,遂找到代码规范分享给大家

【嵌牛鼻子】Python,代码规范化

【嵌牛提问】如何写出规范性强、可读性高的代码?

【嵌牛正文】

统一且设计良好的代码规范,是一种优良的编程习惯。PyCharm这一Python IDE使用的正是著名的PEP8代码规范,我们会看到,当有不符合规范的代码出现时,编译器会以灰色下划波浪线给出相关提示,本文即告诉你如何写出没有灰色警告线的至少看上去很美的代码样式。

希望大家看完文章后能有所收获,提高代码的规范性,便于之后参与大型工程时与工友交流。

图1 灰色下滑波浪线示例

缩进(indentation)

使用四个空格表示每个缩进级别。

图2 良好的缩进示例

图3 不好的缩进示例

最大行长度

所有行的最大长度均为79个字符。

图4 良好的换行示例

使用正确的换行位置。推荐的位置在二元操作符(binary operator,如下述代码中的and、or以及%)之后,而不是在它们之前:

图5 良好的换行示例

空行

顶级函数(当前文件中的第一个函数)或者顶级类(当前文件的第一个类)之前要有两个空行

定义在类内部的函数(成员函数)之间要留有一个空行

可以使用额外的空行(但要注意节制)以区分不同的函数组,

在一堆只有一行的函数之间不要使用空行(比如一些函数的空实现)

在函数内部使用空行,来标识不同的逻辑单元

import

在独立的行中导入不同的包

图6 正确的import示例

图7 错误的import示例

但从一个包中添加不同的模块或者函数也是允许的:

图8 一个包中可添加多个模块或函数

import文件应当总是位于文件的首部,仅在模块备注和文档之后,在模块的全局变量和常量之前的位置

import文件的顺序:

1. 标准库(如sys、os)

2. 相关的第三方的库(如numpy、pandas、matplotlib)

3. 自定义的.py文件或者自定义的库

以组的形式标识上述三种import文件,也即是用一个空行隔开

推荐使用绝对路径包含,因为可读性更好,并且不易出错。

字符串

在python中,不对单引号和双引号作区分,PEP的代码规范也不对此有所推荐。任选其一,统一使用即可。然而,当一个字符串包含单引号或者双引号时,使用另外一种方式避免转义符(\)的使用,以提高可读性。

表达式中的空格

在下述条件下,避免使用空格:

紧跟着大括号、中括号和小括号之前

图9 正确空格使用示例

图10 错误空格使用示例

紧连着逗号、分号、冒号之前

图11 正确空格使用示例

图12 错误空格使用示例

切片中的冒号

在切片中冒号可视为一个二元操作符(binary operator),两边应用等数量的空格。

图13 正确空格使用示例

图14 错误空格使用示例

其他的建议

总是在如下的二元操作符的两边使用单空格:

赋值:=

增量赋值:+=, -=

比较:==, <, >, !=, <>, in , is

布尔:and, or, not

不要使用空格,当被用来标识一个关键字参数(使用函数)或者一个默认参数赋值(定义函数)

文档

为所有公共模块或者函数、类以及方法编写文档。不必为非公共方法编写doc文档,但应有一个注释描述算法的功能,这条注释应当出现在def之后

结尾的"""应当独占一行

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容