遵循PEP8 风格编程风格
Python 增强了题案#8,类似于PEP8的一款格式化Python代码的风格。只要语法有效,你可以随心所欲的编写你的Python代码。但是使用一致的风格的话可以使你的代码更加的平易近人,易读。一个通用的代码风格对于一个巨大的项目中其他的Python程序员之间的合作,影响是很大的。 即使你是唯一一个将会阅读你源代码的人,使用这个风格,也会使你在之后的代码维护上受益。
PEP8
包含了很多如何编写Python代码的细节,随着Python语言的迭代其也会不断的更新。在线完整阅读。接下来本书将简单的介绍一点其中比较实用的规则。
空格
在Python中,空格是一个重要的语法。Python 程序员对于整洁空格代码带来的影响尤其的敏感。下面是普适的一些建议。
- 使用空格而不是tab键来缩进。
- 使用4个空格语法 作为每一层缩进的标准。
- 每行代码应尽量的少于79个字符。
- 一个长表达式被分成多行表示的时候要添加额外的4个空格来保持缩进的美观。
- 在一个文件中,函数和类之间应该用两个空白行分隔。
- 在类内部,方法之间应该使用赶一个空白行分隔。
- 不要将空格放在列表索引、函数调用或关键字参数赋值“两侧”,即不要用空格包围此三者。
- 在变量赋值前后 保证一次仅有一个空格被放置。
命名
PEP 8
推荐使用为不同的部分起一个独特的名字。这样在阅读源代码的时候就会很容易的辨别属于哪一个类型。
- 函数,变量以及属性应该使用小写,如果有多个单词推荐使用下划线进行分隔。
- 被保护的属性应该使用前导下划线来声明。
- 私有的属性应该使用两个前导下划线来进行声明。
- 类以及异常信息 应该使用单词首字母大写形式,也就是我们经常使用的驼峰命名法。
- 模块级别的常量应该全部使用大写的形式。
- 类内部的实例方法的应该将
self
作为其第一个参数。且self
也是对当前类对象的引用。 - 类方法应该使用
cls
来作为其第一个参数。且self
引用自当前类。
表达式和语句
Python之禅中有这样的一句话。大致意思如下:完成一件事,有且仅有一种方式是最好的。PEP 8
尝试在它的指导手册中为表达式和语句编写这样的一个优雅,简单的编程风格。
- 使用内联否定(如
if a is not b
) 而不是显示的表达式(如if not a is b
)。 - 不要简单地通过变量的长度(
if len(somelist) == 0
)来判断空值。使用隐式的方式如来假设空值的情况(如if not somelist
与False
来进行比较)。 - 上面的第二条也适用于非空值(如
[1]
,或者'hi')。对这些非空值而言if somelist
默认包含隐式的True
。 - 避免将
if
语句块,for
,while
,except
等包含多个语块的表达式写在一行内。为了使代码更易读,应该分割成多行。 - 总是把
import
语句写在Python
文件的顶部。 - 当引用一个模块的时候使用绝对的模块名称,而不是与当前模块路径相关的名称。例如要想引入
bar
包下面的foo
模块,应该使用from bar import foo
而不是import foo
。 - 如果非要相对的引用,应该使用明确的语法
from . import foo
。 - 按照以下规则引入模块:标准库,第三方库,你自己的库。每一个部分内部也应该按照字母顺序来引入。
Note:
The Pylint tool 是一个深受欢迎的静态的Python源代码分析器。提供了PEP 8
风格的自动指导以及常见的错误。
备忘录:
- 写代码的时候总是要遵循
PEP 8
的风格指导。 - 与较大的Python社区共享一个共同的风格,方便与他人合作。
- 使用一致的风格,方便你今后修改自己的代码。