Style Guide for Python Code
- 缩进选用4个空格,优美
- 折行尽量不超过79个字符,造福你我他
- 使用空行分隔函数和类,以及函数中的大块代码。
- 注释独占一行,上方,谢谢
- 使用文档字符串
- 把空格放到操作符两边,以及逗号后面,但是括号里侧不加空格:
a = f(1, 2) + g(3, 4)
- 函数和类的命名方式:
类名-用驼峰命名:驼峰命名法就是当变量名或函数名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母,例如:myFirstName、myLastName,这样的变量名看上去就像骆驼峰一样此起彼伏,故得名。
函数和方法名-用小写和字符串:函数名中的每一个逻辑断点都有一个下划线来标记,同时,总是用 self 作为方法的第一个参数
- 编码Python默认UTF-8
- 同样,也不要使用非 ASCII 字符的标识符,除非是不同语种的会阅读或者维护代码
- 每个物理行只写一个逻辑行。
#在函数中多使用文档字符串DocStrings,这可以使程序更加易懂,使用时候遵循这样的惯例:文档字符串的惯例是一个多行字符串,它的首行以大写字母开始,句号结尾。第 二行是空行,从第三行开始是详细的描述。
#!/usr/bin/python #Filename: func_doc.py def printMax(x, y): '''Prints the maximun of two numbers. The two values must be integers.''' x = int(x)#convert to integers y = int(y) if x > y: print(x, 'is maximum') else: print(y, 'is maximum') printMax(3, 5) print(printMax.__doc__)
DocStrings是怎么工作的呢?
在函数的第一个逻辑行的字符串是这个函数的文档字符串。注意, DocStrings 也 适用于模块和类,这是函数的__doc__属性,抓取使用即可,help()函数的原理就是如此。
#os.sep 变量的使用 —— 这回根据你的操作系统给出路径分割符,例如在 Linux、Unix 中用’/’,在 windows 中用’\’,在 Mac OS 中用’:’。这样使得程序具有更好的可移植性。
#self
类的方法长得就很像普通函数,但他们有一个特别的区别——类的方法必须有一个额外的第一个参数名称,这个名称原则上可以是任何名字,但是强烈建议用self,方便你我他。调用这个方法的时候不必为这个参数赋值,Python自动将对象本身提供给他。
Python 中的 self 等价于 C++ 中的 self 指针和 Java、C# 中的 this 参考。
举一个例子来看。假如你有一个类称为 MyClass 和这个类的一个实例 MyObject。当 你调用这个对象的方法 MyObject.method(arg1, arg2) 的时候,这会由 Python 自动转为 MyClass.method(MyObject, arg1, arg2)—— 这就是 self 的原理了。
类中的数据属性会覆盖同名的方法属性。为了避免意外的名称冲突,这在大型程序中是极难发现的 Bug,使用一些约定来减少冲突的机会是明智的。可能的约定包括:大写方法名称的首字母,使用一个唯一的小字符串(也许只是一个下划线)作为数据属性名称的前缀,或者方法使用动词而数据属性使用名词。