PEP是Python Enhancement Proposal的简称,我们在编写Python代码的时候一般遵循PEP8规范。PyCharm中自带了PEP8语法规范检查。
![PyCharm](https://i-blog.csdnimg.cn/blog_migrate/fecf80e77df32db7318c60eb47f9aa0f.png)
缩进
Python代码是通过缩进来分块的,PEP8规定使用4个空格的缩进,不要使用Tab或者Tab和空格混合使用。
代码长度
限制每行代码的最大长度为79个字符。对于代码注释这样的长文本块,每行的最大长度应该限制为72个字符。限制代码长度的一个好处是,当你同时打开两个或者两个以上代码框时,不需要因为代码过长而拉动滑动条来显示全部代码。
行中断
一行应该在操作符之前还是之后中断呢?一直以来都是在操作符之后中断,就像下面第一段代码中一样。但是这样会损害代码的可读性:一方面操作符会散落在每行代码的不同列,另一方面操作符和操作数之间分隔的太远了。为了解决这个问题,推荐在操作符之前中断,如下面第二段代码所示。
# No: operators sit far away from their operands
income = (gross_wages +
taxable_interest +
(dividends - qualified_dividends) -
ira_deduction -
student_loan_interest)
# Yes: easy to match operators with operands
income = (gross_wages
+ taxable_interest
+ (dividends - qualified_dividends)
- ira_deduction
- student_loan_interest)
空行
函数或者类前后保留两个空行;类中的方法前后保留一个空行。
Import
- Python中经常需要用import导入不同的库,推荐一行只导入一个库:
Yes: import os
import sys
No: import sys, os
Yes: from sklearn.model_selection import train_test_split
- import应该放在代码文件的顶端,文件注释之下。根据导入的库不同,import也应该按以下顺序分组,不同组之间用空行分隔开:
- 标准库
- 第三方库
- 本地库
空格
在下列情况中,避免不必要的空格: