码迷,mamicode.com
首页 > 编程语言 > 详细

python的for else语句

时间:2018-02-05 14:27:08      阅读:304      评论:0      收藏:0      [点我收藏+]

标签:table   keyword   word   str   function   ber   目标   出现   用法   

Python循环中的else语句

绝大部分编程语言中都有条件判断语句,比如 if … else ,在大部语言中,else 一般只在条件判断语句中出现,与 if 语句配套出现,不过在 Python 中,else 除了能与 if 这样的条件判断一起出现外,还能出现在 for、while 这样的循环语句中。

我们来看一个例子:

1
2
3
4
5
6
7
8
9
10
s = ["a111", "b222", "c333", "d444", "e555"]
found = False
for c in s:
    if c.startswith("c"):
        found = True
        print u"发现以字母c开头的项"
        break
 
if not found:
    print u"没有发现以字母c开头的项"

做一次循环,如果发现满足条件的字母则打印出提示信息,循环完了还没有发现则打印出另一条信息。我们需要设置一个额外的变量来记录是否找到了目标字符(程序中的 found 变量),在循环完成之后再做一个 if 判断。

上面的写法当然是可以的,不过如果我们使用循环中的 else 语句的话,代码会更简洁清晰。比如:

1
2
3
4
5
6
7
s = ["a111", "b222", "c333", "d444", "e555"]
for c in s:
    if c.startswith("c"):
        print u"发现以字母c开头的项"
        break
else:
    print u"没有发现以字母c开头的项"

在这儿,记录是否找到的额外的变量不需要了,也不再需要在循环完成后再进行 if 判断,但达到的效果和第一段代码是一样的。

在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样

如果使用continue替换break,效果则是:else里的语句肯定会被执行,有些场合也是一个有意思的用法

python的for else语句

标签:table   keyword   word   str   function   ber   目标   出现   用法   

原文地址:https://www.cnblogs.com/shengulong/p/8416999.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!