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

本题讨论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

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值