Python:for循环+else与continue+break小总结

您所在的位置:网站首页 python中循环结构中的else语句的作用 Python:for循环+else与continue+break小总结

Python:for循环+else与continue+break小总结

#Python:for循环+else与continue+break小总结| 来源: 网络整理| 查看: 265

以往的笔记,记录一下

前言

一、for循环简介: for i in xx,表示i依次一个个将xx里面的值取出来 二、for…else… 1、简介: for也可以和else使用 什么时候用这个else? 当for j in xx时xx中没有数据或依次取完了,就会使用else 这一种格式,是Python所独有的

for i in range(0,2): print 1 else: print 0

2、这里也顺便介绍一下continue和break 前提:下面所说的当前循环:continue或break所在的循环称为当前循环 (1)continue 重点:continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环 但如果是在else中执行的,就表示当前循环for中已经没有可用的数了,例如下面的例子中,continue继续进行父循环的下一轮循环,而非当前循环(也就是子循环),why?因为for循环只要执行了else代码,就表示当前循环已经执行完毕了,只能找当前循环的上个循环,这里只有父循环,所以就它喽。设个断点,单步执行一下就会明白了

for j in range(0,2): #注:这个是"父循环",通俗点说就是父亲 for i in range(0,3): #注:这个是"子循环",通俗点说就是儿子,父循环中可以有多个儿子~~ print(1) else: continue

像下面的这个,continue就是先当前循环的上个循环,最后才父循环

for j in range(0,2): for k in range(0, 3): for i in range(0,3): print(1) else: continue

下面这个例子是帮助理解的,也单步执行一下

for j in range(0,2): for i in range(0,3): print(1) continue #这里它不会执行父循环,因为子循环还没有结束,他还是会继续执行

(2)break 重点:break语句用来终止循环语句,但如果有嵌套循环,break表示跳出(终止)当前循环(遇到了break,就不继续执行当前循环的任何代码),但继续执行当前循环外下面同级的循环;如果没有同级的循环就执行当前循环的上个循环;若都没有,就结束循环 例:

for i in range (0,2): print(i) #break #注:如果break在这里,那么直接返回0,因为跳出了整个循环 for j in range (3,6): print(j) break #注:如果break在这里,相当于跳出这个子循环,也就是嵌套循环,并没有退出整个循环,所以最后返回0 3 1 3

下面对比一下下面的两种代码,你会更好地理解,下面的都使用单步对比

第一种:如果没有同级的循环就执行当前循环的上个循环

#for j in range (3,6):是for k in (8, 10):的子循环 #break会先跳到for k in (8, 10): for i in range (0,2): print(i) for k in (8, 10): print(k) for j in range (3,6): print(j) break

第二种:执行当前循环外下面同级的循环

#for j in range (3,6):与for k in (8,10):同级别 #break会先跳到for k in (8,10): for i in range (0,2): print(i) for j in range (3,6): print(j) break for k in (8,10): print(k)

第三种:因为for k in (8,10):是当前循环的子循环,所以不会执行。都终止当前循环了,怎么执行当前循环下面的代码?

#for k in (8,10):是for j in range (3,6):的子循环 for i in range (0,2): print(i) for j in range (3,6): print(j) break for k in (8,10): print(k)

记住,只要代码和for排头并齐,说明这段代码不属于当前与其并齐的for循环内!!!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3