缩进应使用四个空格
很多人喜欢用一个tab来代替四个空格,因为这样快捷方便。
但是,对于Python这种以缩进来区分层次的语言来说,建议缩进最好使用四个空格,而不是用一个tab。
这是因为在不同的编辑器中,一个tab空的格数并不一致,比如Linux的vi中,一个tab相当于八个空格的长度,这导致同样的代码在不同的编辑环境中可能有不同的样子,不利于程序员理解代码。而空格在任何情况下都是一样的,所以为了语法规范,建议使用四个空格。
注意:不要混用tab和空格来缩进,这样可能导致代码缩进错位,最后产生致命错误。
for循环后不宜写else块
Python提供了一种很多编程语言不支持的功能,那就是可以在while循环和for循环之后使用else块。
a_list=list(range(1,9))
for a in a_list:
if(a%3==0):
break
else:
print("Fine!")
结果没有输出。
在循环后加else的意思是如果这个循环正常执行,那么执行else块。而break会跳出for循环,会导致程序不执行else块。
通过这个我们可以发现,在搜素某个事物时,这种写法有意义。但在实际上,我们并不会这么写代码,而通常用辅助函数计算。
辅助函数有两种常见的写法:
第一种:只要发现受测参数符合自己想要搜寻的条件,就尽早返回。如果整个循环都完整的执行了一遍,那就说明受测参数不符合条件,于是返回默认值。
第二种:用变量来记录受测参数是否符合自己想要的搜寻条件。一旦符合,就用break跳出循环。
对于不熟悉for/else的人来说,这两种写法更加清晰,而for/else更易引人误解。像循环这种简单的语言结构,在python程序中应该写的非常直白才对。所以完全不应该在循环后面使用else块。
-------------------参考 [美]Brett Slatkin的《Effective Python》-------------------------