Python缩进应使用四个空格,for循环后不宜写else块

缩进应使用四个空格

很多人喜欢用一个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》-------------------------

发布了5 篇原创文章 · 获赞 0 · 访问量 70
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览