Effective Python

第一章 培养Pythonic思维

  1. 查询自己使用的python版本(使用python3.x)
  2. 遵循PEP8风格指南
    与空白有关的建议
  3. 用空格(space) 表示缩进, 而不要用制表符(tab) 。
  4. 和语法相关的每一层缩进都用4个空格表示。
  5. 每行不超过79个字符。
  6. 对于占据多行的长表达式来说,除了首行之外的其余各行都应该在通常的缩进级别之上再加4个空格。
  7. 在同一份文件中,函数与类之间用两个空行隔开。
  8. 在同一个类中,方法与方法之间用一个空行隔开。
  9. 使用字典时,键与冒号之间不加空格,写在同一行的冒号和值之间应该加一个空格。
  10. 给变量赋值时,赋值符号的左边和右边各加一个空格,并且只加一个空格就好。
  11. 给变量的类型做注解(annotation) 时, 不要把变量名和冒号隔开, 但在类型信息前应该有一个空格。
    与命名有关的建议
  12. 函数、变量及属性用小写字母来拼写, 各单词之间用下划线相连, 例如:lowercase-underscore。7A Jan a by iure修纤, 爽子关外盖弘口受保护的实例属性, 用一个下划线开头, 例如:_leading_underscore。
  13. 私有的实例属性, 用两个下划线开头, 例如:__double_leading_underscore。
  14. 类(包括异常) 命名时, 每个单词的首字母均大写, 例如:Capitalized Word。
  15. 模块级别的常量, 所有字母都大写, 各单词之间用下划线相连, 例如:ALL_CAPS。
  16. 类中的实例方法, 应该把第一个参数命名为self, 用来表示该对象本身。
  17. 类方法的第一个参数.应该命名为cls, 用来表示这个类本身。
  18. 受保护的实例属性,用一个下划线开头,例如:_leading_underscore
  19. 私有的实例属性,用两个下划线开头,例如:__doubele_leading_underscore
  20. 类方法的第一个参数,应命名为cls,用来表示这个类本身
  21. 不要通过长度判断容器或序列是否为空,Pyhton会把空值判定为False,非空的值判定为True,因此应该采用if not somelist、if somelist进行判断
  22. 引入模块时,总是应该使用绝对路径,而不应该根据当前模块路径来使用相对名称,如from bar import foo

    推荐阅读