PEP8笔记

PEP8是写python代码的风格指南,要想写出优雅易读的代码首先要遵循PEP8的规范,这篇博客主要用来记录PEP8的一些要点

1.可读性很重要,一份代码写出来只要一次,但是会被人读(别人和自己)很多次;
2.虽然和PEP8保持一致很重要,但是更重要的是与整个项目保持一致,不要盲目的修改代码以与PEP8保持一致;
3.使用四个空格来做缩进而不是tab,因为tab在不同的系统上可能有不同的解释;
4.每行的长度限制在79字符之内,注释和说明限制在72字符之内;
5.换行时,操作符置于下一行的开始处;

# Yes: easy to match operators with operands
income = (gross_wages
          + taxable_interest
          + (dividends - qualified_dividends)
          - ira_deduction
          - student_loan_interest)

6.关于空行,顶级function和class定义的开始和结束处加两个空行,类内的方法定义之间一个空行,function之内用少量空行来区分不同的逻辑部分;
7.Import,每一行单独导入一个包,但是同一包的多个函数可以置于同一行。导入应该划分成三个组:

  1. standard library imports
  2. related third party imports
  3. local application/library specific imports

在不同的组之间加入一个空行来分隔;
8.关于引号,PEP8并不要求使用单引号或双引号,只需选一个然后保持一致即可。但是可以通过使用另一个来避免\的使用,这也可以提升可读性;
9.空格的使用

  1. 避免无用的空格
  2. 在二元操作符(=,+=, ==,and)的两边使用空格,如果在表达式中有不同的优先级,可以再最低的优先级的算符两边使用空格
  3. 在函数的参数中的=两边不要使用空格

10.命名规范

  1. 模块或者项目内部的命名一致性比遵循PEP8更重要,全新的代码推荐遵循此规范
  2. 避免使用小写L(el)大写O(oh)大写I(eye)的单个字母作为变量名
  3. 模块用比较短的全小写名称lowercase
  4. 类名用单词首字母大写名称CapWords
  5. Type variables以及Exception也使用CapWords
  6. 全局变量的命名方式与函数名相同
  7. 函数名使用lowercase,如果有必要则使用下划线来连接以提升可读性
  8. 永远使用self作为实例方法的第一个argument,永远使用cls作为类方法的第一个argument。如果函数的参数命名与已有关键词冲突,在尾部加一个下划线
  9. 类内方法名的命名方式与一般函数名一致;非公开的方法和实例变量的命名以下划线开头
  10. 常量使用ALLUPPERCASE,可以使用下划线连接

    11.在写代码的时候,不应该偏向于某一种python实现;
    12.当将为某种运算命名的时候,使用def而不是赋值操作;
    13.使用字符串方法而不要使用字符串module,比如检查前缀的时候使用’’.startswith(),而不使用’’[:3] == ‘’;
    14.检查type的时候使用isinstance()方法,而不是直接比较;
    15.在使用字符串常量时,不要使用依赖于trailing whitespace的常量,不利于可读性;
    16.判断boolean时,不要与True或者False比较;
    这篇博客并没有记录关于文档,异常和与面向对象编程的内容,暂时用不到,以后补充。

参考链接:
[1]PEP8:https://www.python.org/dev/peps/pep-0008/