每日10行代码55:编写高质量python代码的方法2——遵循PEP8风格指南

编写高质量python代码的方法2:遵循PEP8风格指南
PEP8指《Python Enhancement Proposal #8》 (8号Python增强提案),它是针对Python代码格式而编订的风格指南。
采用一致的风格来可以令代码更加易懂、更加易读。下面是书中列出的几条绝对应该遵守的规则:
空白:Python中空白会影响代码的含义。Python程序员使用空白的时候尤其在意,因为它们还会影响代码的清晰程度。

  1. 使用space(空格)来表示缩进,而不要用tab(制表符)。
  2. 和语法相关的每一层缩进都用4个空格来表示。
  3. 每行的字符数不应超过79.
  4. 对于占据多行的长表达式来说,除了首行之外的其余各行都应该在通常的缩进级别之上再加4个空格。
  5. 文件中的函数与类之间应该用两个空行隔开。
  6. 在同一个类中,各方法之间应该用一个空行隔开。
  7. 在使用下标来获取列表元素、调用函数或给关键字参数赋值的时候,不要在两旁添加空格。
  8. 为变量赋值的时候,赋值符号的左侧和右侧应该各自写上一个空格,而且只写一个就好。

命名:PEP8提倡采用不同的命名风格来编写python代码中的各个部分,以便在阅读代码时可以根据这些名称看出它们在Python语言中的角色。

  1. 函数、变量及属性应该用小写字母来拼写,各单词之间以下划线相连,例如, lowercase_underscore.
  2. 受保护的实例属性,应该以单个下划线开头,例如, _leading_underscore.
  3. 私有的实例属性,应该以两个下划线开头,例如, __double_leading_underscore
  4. 类与异常,应该以每个单词首字母均大写的形式来命名,例如, CapitalizedWord.
  5. 模块级别的常量,应该全部采用大写字母来拼写,各单词之间以下划线相连,例如,ALL_CAPS.
  6. 类中的实例方法(instance method),应该把首个参数命名为self, 以表示该对象自身。
  7. 类方法(class method)的首个参数,应该命名为cls,以表示该类自身。

表达式和语句:《The Zen of Pyton》(Python之禅)中说:“每件事都应该有直白的做法,而且最好只有一种。”PEP8 在制定表达式的和语句风格时,就试着体现了这种思想。

  1. 采用内联形式的否定词,而不要把否定词放在整个表达式的前面,例如,应该定if a is not b而不是 if not a is b.
  2. 不要通过检测长度的办法(如if len(somelist) == 0)来判断somelist是否为[]或’'等空值,而是应该采用if not somelist这种写法来判断,它会假定:空值将自动评估为False.
  3. 检测一个列表是否为非空时,也应该直接用if somelist 这种写法,因为python默认会把非空的值判断为True。
  4. 不要编写单行的if语句、for循环、while循环及except复合语句,而是应该把这些语句分成多行来写,以示清晰。
  5. import语句应该总是放在文件开头。
  6. 引入模块的时候,总是应该使用绝对名称,而不应该根据当前模块的路径来使用相对名称。例如,引入bar包中的foo模块时,应该完整地写出from bar import foo, 而不应该简写为import foo.
  7. 如果一定要以相对名称来编写import语句,那就采用明确的写法:from . import foo.
  8. 文件中的那些import语句应该顺序划分成三部分,分别表示标准库模块、第三方模块以及自用模块。在每一部分之中,各import语句应该按模块的字母顺序来排列。

要点:

  1. 当编写Python代码时,总是应该遵循pep8风格指南。
  2. 与广大Python开发者采用同一套代码风格,可以使项目更利于多人协作。
  3. 采用一致的风格来编写代码,可以令后续的修改工作变得更为容易。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值