例
break声明
当一个break语句在循环内执行时,控制流立即“中断”循环:i = 0
while i <7:
print(i)
if i &#61;&#61; 4:
print("Breaking from loop")
break
i &#43;&#61; 1
执行break语句后&#xff0c;不会计算循环条件。请注意&#xff0c; break语句只允许在语法内部循环 。函数内的break语句不能用于终止调用该函数的循环。
当满足break语句并且循环停止时&#xff0c;执行以下操作将打印每个数字&#xff0c;直到数字4 &#xff1a;0
1
2
3
4
Breaking from loop
break语句也可以在for循环中使用&#xff0c;Python提供的另一个循环结构&#xff1a;for i in (0, 1, 2, 3, 4):
print(i)
if i &#61;&#61; 2:
break
执行此循环现在打印&#xff1a;0
1
2
请注意&#xff0c;由于循环结束&#xff0c;因此不会打印3和4。
如果循环有一个else子句 &#xff0c;则在循环通过break语句终止时它不会执行。
continue声明
continue语句将跳过循环的下一次迭代&#xff0c;绕过当前块的其余部分但继续循环。与break &#xff0c; continue只能出现在循环内&#xff1a;for i in (0, 1, 2, 3, 4, 5):
if i &#61;&#61; 2 or i &#61;&#61; 4:
continue
print(i)
0
1
3
5
请注意&#xff0c;不打印2和4 &#xff0c;这是因为continue进行下一次迭代而不是继续print(i)当i &#61;&#61; 2或i &#61;&#61; 4 。
嵌套循环
break和continue仅在单个循环级别上运行。以下示例将仅突破内部for循环&#xff0c;而不是外部while循环&#xff1a;while True:
for i in range(1,5):
if i &#61;&#61; 2:
break # Will only break out of the inner loop!
Python没有立刻跳出循环的多个层次的能力-如果这种行为需要&#xff0c;重构一个或多个环插入函数和更换break与return可能是要走的路。
使用函数内的return作为break
return语句从函数退出&#xff0c;而不执行它之后的代码。
如果你在一个函数内部有一个循环&#xff0c;那么在循环中使用return就等于有一个break因为循环的其余代码没有被执行( 注意循环之后的任何代码都没有被执行 )&#xff1a;def break_loop():
for i in range(1, 5):
if (i &#61;&#61; 2):
return(i)
print(i)
return(5)
如果你有嵌套循环&#xff0c; return语句将破坏所有循环&#xff1a;def break_all():
for j in range(1, 5):
for i in range(1,4):
if i*j &#61;&#61; 6:
return(i)
print(i*j)
将输出&#xff1a;1 # 1*1
2 # 1*2
3 # 1*3
4 # 1*4
2 # 2*1
4 # 2*2
# return because 2*3 &#61; 6, the remaining iterations of both loops are not executed