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

本文介绍了Python编程中应使用四个空格进行缩进,以保持代码的一致性和可读性,避免因不同编辑器中tab的宽度差异造成混淆。同时,建议避免在for循环后使用else块,因为这可能会增加代码的复杂性和误解。推荐使用辅助函数来替代for循环后的else块,以提高代码的清晰度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

缩进应使用四个空格

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值