Effective Python 读书笔记——第 2 条

Effective Python 读书笔记——第 2 条

转载请注明出处:https://blog.csdn.net/jpch89/article/details/84311771


第 2 条:遵循 PEP8 风格指南

8Python 增强提案,又叫 PEP 8
Python Enhancement Proposal #8
http://www.python.org/dev/peps/pep-0008

空白 whitespace 会影响代码的含义。

  • 使用四个空格 space 缩进,不要用制表符 tab
  • 每行字符数小于等于 79
  • 对于占据多行的表达式,首行之后的其余各行都要再缩进 4 个空格
  • 文件中的函数与类之间要用两个空行隔开
  • 同一个类中,各方法用一个空行隔开
  • 使用下标来获取列表元素、调用函数或者给关键字参数赋值时,不要在两旁添加空格
  • 变量赋值的时候等号两边要各有一个空格

命名:不同的命名风格体现不同角色。

  • 函数、变量、属性用小写字母,以下划线连接
  • 受保护的实例属性,以单下划线开头
  • 私有的实例属性,以双下划线开头
  • 类与异常,大驼峰式命名
  • 模块级别的常量,全用大写字母,以下划线连接
  • 类中的实例方法 instance method,首个参数应该叫做 self,以表示该对象本身
  • 类方法 class method,首个参数应该叫做 cls,以表示该类本身

表达式和语句

  • 不要把否定词放在前面,要写 if a is not b 而不是 if not a is b
  • 不要用长度检测来判定为空if len(somelist) == 0),而是用 if not somelist(空值为 False
  • 判定非空if somelist
  • 不要写单行的复合的 ifforwhileexcept 语句,要拆开来写
  • import 总是放在文件开头
  • 导入模块的时候,使用完整的绝对名称,而不应该根据当前模块的路径来使用相对名称。例如,导入 bar 包中的 foo 模块,应该写 from bar import foo,而不是 import foo
  • 如果一定要用相对名称,就采用明确的写法 from . import foo

举个例子:对于 Python 3,在包内导入时,假如 a.py 导入 b.py写成 import b,那么在包外 import package.a 或者 from package import a 时一定会报错。此时就要用 from package import b 或者 from . import b 才行。

  • import 按顺序划分为标准库模块第三方模块以及自用模块。在每一部分,各 import 语句按字母顺序排列。

Pylint http://www.pylint.org/
源码检测工具

猜你喜欢

转载自blog.csdn.net/jpch89/article/details/84311771