Python初学之实用技巧<一>

本文主要记录 Python 中一些常用技巧,所描述的是告诉你怎么写才是更好? 如果你并不熟悉Python语法,希望你能在下面代码片段中看到Python的简单、优雅; 如果你象我这样,对 Python 有兴趣或并正在学习,我相信下面的技巧并不会让你失望; 如果你已经是一名 Pythoner ,那么很乐于你分享你的经验和技巧。

Python 禅道:
如果您使用的一种编程语言是以小品喜剧艺术团命名的,你最好有幽默感。
美丽优于丑陋。
明确优于含蓄。
简单比复杂好。
平倘优于嵌套。
稀疏比密集更好。
特殊情况不能特殊到打破规则。
错误不应该默默传递。

Python 代码风格指南 值得阅读:
http://www.python.org/dev/peps/pep-0008/

空格(行)使用 (1)
◆ 使用 4 个空格缩进。
◆ 不要使用制表符。
◆ 不要将制表符和空格混合使用。
◆ IDEL和Emacs的Python的都支持 spaces模式。
◆ 每个函数之间应该有一个空行。
◆ 每一个 Class 之间应该有两个空行。

空格(行)使用 (2)
◆ 在使用 字典(dict), 列表(list), 元组(tuple), 参数(argument)列表时, 应在 “,” 前添加一个空格, 并且使用字典(dict)时,在 “:” 号后添加空格,而不是在前面添加。
◆ 在括号之前或参数之前不添加空格。
◆ 在文档注释中前后应该没有空格。

Python代码

def make_squares(key, value=0):  
   """Return a dictionary and a list...""" 
   d = {key: value}  
   l = [key, value]  
   return d, l

命名
◆ joined_lower 可以是 函数名, 方法名, 属性名
◆ joined_lower or ALL_CAPS 是常量
◆ StudlyCaps 类名
◆ camelCase 只有在预先制定好的命名规范使用
◆ 属性: interface, _internal, __private
◆ 但尽量避免__private形式。下面两个链接解释了 为什么python中没有 private声明?

较长代码行
保持一行代码在 80 个字符长度。
在括号内使用隐含的行延续:
Python代码

    def __init__(self, first, second, third,  
   fourth, fifth, sixth):  
   output = (first + second + third  
   + fourth + fifth + sixth)  

或者在需要换行的位置使用 \ 来延续行:
Python代码

    VeryLong.left_hand_side \  
   = even_longer.right_hand_side() 

另外,使用反斜杠是有风险的,如果你添加一个空格在反斜杠后面,它就出错了。此外,它使代码难看。

较长字符串
将相邻的字符串进行连接的做法:

Python代码

    >>> print 'o' 'n' "e" 
   one 

虽然字符之间的空格不是必需的,但是这样有助于可读性。
Python代码

>>> print 't' r'\/\/' """o""" 
t\/\/o

用一个 “r“ 开头的字符串是一个“raw“的字符串(类似java中的转义符)。上面的反斜杠就会当成普通字符串处理。他们对正则表达式和Windows文件系统路径非常有用。
注意:使用字符串变量名无法通过以上方式进行连接。
Python代码

    >>> a = 'three' 
   >>> b = 'four' 
   >>> a b  
   File "<stdin>", line 1 
   a b  
   ^  
   SyntaxError: invalid syntax 

这是因为自动连接是由Python解析器/编译器来处理的,因为其无法在编译时对变量值进行"翻译",所以就这种必须在运行时使用“+“运算符来连接变量。