您的位置:首页 > 编程语言 > Python开发

python循环语句中的else,break和continue

2016-11-13 11:54 1016 查看
本题讨论Python的for…else和while…else语法,这是Python中最不常用、最为误解的语法特性之一。

Python中的for、while循环都有一个可选的else分支(类似if语句和try语句那样),在循环迭代【正常】完成之后执行。换句话说,如果我们没有以break、return、异常等不正常方式退出循环,那么else分支将被执行。如下例,循环正常完成后,else会被执行:

>>> for i in range(3):
...     print(i)
... else:
...     print('Iterated over everything :)')
...
0
1
2
Iterated over everything :)
上面的代码中,我们在range(3)上迭代并打印每个数字。因为我们让循环正常完成,所以else分支也被执行,并打印出Iterated over everything :) 。相反,如果我们用break语句终止循环,那么else分支将不会执行:

>>> for i in range(3):
...   if i == 2:
...     break
...   print(i)
... else:
...   print('Iterated over everything :)')
...
0
1
注意,尽管循环所迭代的序列是空的,else分支依然会被执行,毕竟循环仍然是正常完成的。同样不要忘记,以上所有也适应于while…else。

总结

for … else结构下

1.for里面的语句和普通的(没有else的for语句)没有区别;

2. else中的语句会在循环正常执行完后执行;

3.当for中语句通过break跳出而中断时,不会执行else。

最后总结一句,for ... else结构一般要和break一起使用,才能体现这个结构的强大之处(至少我是这么觉得的,不知还有什么其他情况,希望网友不吝赐教)。

while ... else结构也符合上述条件。

Python循环中的continue和break

continue和break语句其实就和C语言的用法是一样的,只是在for ... else结构结构中

1.当for中语句通过break跳出而中断时,不会再执行else中的内容;

2. 而将continue语句和寻常语句无异,只要不是不通过break,光有continue会进入else语句。

参考博文:
http://python.jobbole.com/81063/ http://blog.csdn.net/humanking7/article/details/43792425
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: