" else"有什么用? " for"在Python中循环?

时间:2014-05-13 07:30:22

标签: python python-2.7 syntax

以下两个代码似乎都打印相同,然后需要"否则" " for"在python循环。

代码1:

for i in range(10):
    print i
else:
    print "after for loop"

代码2:

for i in range(10):
    print i

print "after for loop"

提前致谢。

3 个答案:

答案 0 :(得分:3)

else之后执行
break

答案 1 :(得分:2)

From the documentation

  

循环语句可能有else子句;当循环通过列表耗尽(with for)或条件变为false(with while)时终止,但是当循环被break语句终止时,执行它。

点击链接,了解如何使用它。

答案 2 :(得分:1)

这最初是为了摆脱所有" GOTO"不使用标志的过程中的语句: 这意味着" NO BREAK"

for i, value in enumerate(sequence):
    if value == target:
    break
else:           #<-- if we finish the loop and did not encounter break, return -1
    return -1
return 1        #<-- if we did encounter break, return 1

您可以观看Raymond Hettinger的Pycon演讲,其中提到了for / else构造:将代码转换为美丽的,惯用的Python,http://pyvideo.org/video/1780/transforming-code-into-beautiful-idiomatic-pytho