编程语言
首页 > 编程语言> > Effective Python(2)- 遵循 PEP 8 风格指南

Effective Python(2)- 遵循 PEP 8 风格指南

作者:互联网

什么是 PEP8 风格

官方:https://www.python.org/dev/peps/pep-0008/

中文翻译博客:https://www.cnblogs.com/ajianbeyourself/p/4377933.html

 

与空白有关的建议

在Python中,空白(whitespace)在语法上相当重要

  1. 用空格(space)表示缩进,而不要用制表符(tab)
  2. 和语法相关的每一层缩进都用 4 个空格表示
  3. 每行不超过 79 个字符
  4. 对于占据多行的长表达式来说,除了首行之外的其余各行都应该在通常的缩进级别之上再加 4 个空格
  5. 在同一份文件中,函数与类之间用 2 个空行隔开
  6. 在同一个类中,方法与方法之间用 1 个空行隔开
  7. 使用字典时,键与冒号之间不加空格,写在同一行的冒号和值之间应该加 1 个空格
  8. 给变量赋值时,赋值符号的左边和右边各加 1 个空格,并且只加一个空格就好
  9. 给变量的类型做注解(annotation)时,不要把变量名和冒号隔开,但在类型信息前应该有一个空格

这个其实不用硬背,用 pycharm 的同学应该都知道,代码格式化会自动完成这些事

 

与命名有关的建议

函数、变量及属性

 

受保护的实例属性

 

私有的实例属性

 

类(包括异常)命名

 

模块级别的常量

 

类中的实例方法

应该把第一个参数命名为 self,用来表示该对象本身

 

类方法

第一个参数,应该命名为 cls,用来表示这个类本身

 

与表达式和语句有关的建议

采用行内否定

 

不要通过长度判断容器或序列是不是空的

 

不要通过长度判断容器或序列里面有没有内容

 

不要把 if 语句、for 循环、while 循环及 except 复合语句挤在一行

 

多行的表达式

应该用括号括起来,而不要用\

# 错误示范
folder["interfaces"] = db.query(Interface). \
    filter(folder_id == Interface.folder_id,
           Interface.is_delete == 0). \
    all()

# 正确示范
folder["interfaces"] = (
    db.query(Interface)
    .filter(folder_id == Interface.folder_id, Interface.is_delete == 0)
    .all()
)

 

与 import 有关的建议

 

文件中的 import 语句应该按顺序划分成三个部分

  1. 首先引入标准库里的模块
  2. 然后引入第三方模块
  3. 最后引入自己的模块

属于同一个部分的 import 语句按字母顺序排列

 

提醒

不想自己手动来保证 import 的顺序是符合规范的,可以借助 isort 这个工具来自动完成哦!

https://www.cnblogs.com/poloyy/p/15549542.html

 

Pylint

 

标签:语句,Effective,Python,PEP,空格,import,folder,应该
来源: https://www.cnblogs.com/poloyy/p/15549557.html