我们继续我们的 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 的面向对象编程.
来源: http://developer.51cto.com/art/202112/694565.htm