Python培训
400-996-5531
for循环不是Python所特有的,有过一些编程经验的人都知道当一个或者多个指令(程序)重复多次(次数可知)时,就需要使用for指令,这篇文章还主要是给处于入门阶段的伙伴看的,在入门阶段还是要把基础打牢,所以关于基础语句for循环还是很有必要详细说一下的。
Python的for循环
for 语句是 Python 中执行迭代的两个语句之一,另一个语句是 while。如果你对 Python 的迭代并不是很熟悉的话,Python中的迭代:for、while、break、以及continue语句是一个不错的切入点。
Python 中,for 循环用于遍历一个迭代对象的所有元素。循环内的语句段会针对迭代对象的每一个元素项目都执行一次。暂且可以将迭代对象想象成一个对象集合,我们可以一个个遍历里面的元素。我们将在下一节对迭代器和迭代对象作详细说明。
一个简单的 for 循环
我们先从一个简单 for 循环开始,它遍历一个字符串列表并打印每一个字符串。
如你所见,这个循环实际上遍历了列表中的每一个单词并打印它们。也就是说,在循环的每一次遍历中,变量 <i>word</i> 都被指定为列表中的一个元素,然后执行 for 语句中的代码块。由于列表是一个有序的元素序列,所以循环也是以相同的顺序遍历这些元素。
带有 else 子句的 for 循环
Python 中的 for 循环可以选择是否关联一个 else 子句。else 子句中的代码块是在 for 循环完成后才开始执行的,即在迭代对象中的所有元素都遍历完毕之后。现在我们看一下如何扩展前面的示例以包含一个 else 条件(子句)。
else 子句适用于何时?
你已经注意到,else 子句是在 for 循环完成之后才执行的。那么 else 代码块的意义是什么呢?for 循环之后的语句不是也是同样会执行吗?
我们很多时候会遇到这样一种情况,当满足某种条件时,中途结束 for 循环。且如果这个条件一直未满足,则希望执行另一组语句。我们通常使用布尔类型的标记实现,下面是一个例子。
调用结果:
而用 else 代码块的话,我们可以避免使用布尔类型的标记 found_item。我们看看如何使用 else 子句重写上面的方法。注意如果 for 循环中的 break 语句被触发执行,那么则会跳过 else 块。
所以 else 代码块适用于 for 循环中有 break 语句的情况,且我们希望 break 条件没有被触发的时候执行一些语句。
否则,与 else 关联的语句只会在 for 循环结束时才执行。本文的最后一节查看反编译的字节码时你会看到这一点。
for 循环语法
我们已经看到了一些简单的例子,接下来以 for 循环的语法结束本节。
基本上,对于 iterable 中的每一个元素,都会执行 set_of_statements_1。一旦所有的元素都迭代一遍,控制器将跳转到 else 代码块中执行 set_of_statements_2。
注意,else 子句是可选的。如果没有发现 else 子句,循环会在所有元素都遍历完成后结束,并且控制器会转向程序之后的语句。
免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有
Tedu.cn All Rights Reserved