我们继续我们的Python基础的学习,昨天我们学习了字典类型的使用以及控制结构里的顺序结构 if eif条件判断 while循环等内容,其中while循环里我们引入了else关键字和break关键字的时候,那么现在我们再回顾下,正常while循环是不包含else语句的,加上的else语句模块是在while正常执行完后才执行的代码块,而如果while内部通过break跳出的循环不会执行else部分的代码。
接下来我们继续看看循环里的另外一种书写方式,那就是其特有的for循环。For循环一般是用来遍历一个可迭代对象,例如列表、字典、元组、集合、字符串等内容,那啥是可迭代元素呢?可迭代元素不是一种具体的类型,目前我们接触的列表、字典、元组、集合、字符串等类型都是可迭代元素。后面我们学习了面向对象后,再回过头来看这个可迭代对象会好理解些。
那我们用for循环来访问下我们学习过的可迭代元素。
For 循环语法: for 。。。 in 。。。
Pass
跟while循环一样,for循环也可以带一个else语句块,那么当for循环正常执行完后就会执行else里的语句块。如果是中途退出的则不会执行else模块。例如:


输出为:

另外无论是while循环还是for循环,我们都支持嵌套,也就是实现多层循环。下面我们实现一个功能:输出 100以内的所有质数。
需求分析:100以内我们可以使用一个循环来进行控制,那么什么是质数呢?大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。也就是除了1和它本身,不能整除其他的数。

上面的break执行完了会跳转到哪里去?最后还能打印 质数判断执行完毕 这几个字吗?按照我们先前的理解,如果想打印这行语句,for循环里不能break跳出的。我们先看下结果吧:

从上面的结果看来,break只是结束了内层的循环。外层循环没有受影响。
先前我们认识了break语句,break适用于循环体内,表示终止当前的循环,跳出循环体,未执行的循环语句会被忽略掉。并且break只能退出一层循环,如果多层循环,直接使用break只能退出当前循环,无法退出外层循环。
提到break,我们不能忘了continue,这两个难兄难弟在初学者眼里很容易混淆,上面我们用到了break,知道了break可以跳出当前循环。那么continue是干什么用的呢?与break不同,continue是终止当前这次循环,不执行后续的代码,而是进入下一个循环里,并没有直接跳出当前循环。我们用一个例子来说明下吧。

输出为


输出为

通过上面的例子看到区别了吧,break直接跳出循环,continue是进入下一个循环。
基本数据类型介绍完了,控制结构也介绍完了,那么到现在为止,大家对python应该有一个初步的认识了,明天我们继续学习python的面向对象编程。