一分闲聊 | while和for究竟有什么不同

发布于 2019年12月17日

大家好,我是盾牌君。今天的话没有视频,因为在此之前我可能需要花一点时间把一个事情讲清楚:for和while究竟有什么区别。

我们先说我们从地牢就接触到的while:

这里的意思是,当条件成立时,就执行循环体,然后回到while开头再判断条件是否仍然成立,以此往复。在沙漠的时候,我们常常会用while来遍历一个数组。顺带复习一下,遍历的意思是,将数组里的所有元素都拿出来进行一番处理。接下来是我们一直都写的格式:

数组通过索引(下标)访问一个数组内的元素。而索引的值从0开始到数组长度-1。那么只要我们在循环里逐个取这个范围内的索引值,我们就可以顺着逐个取出数组里的元素。这就是循环条件的由来,以及为什么后面的索引加一不可或缺(缺少了会陷入死循环)。

而对于Python而言,我们有者更简单的遍历数组的方法:for

这个for循环也是循环,但和普通循环不一样的是,这个循环直接就从数组里逐个取出了元素,中间不需要我们事先定义的索引变量。总的来看,这个方法其实更简单,不需要过于担心中间过程。不过也会有人钻牛角尖:那我能不能用for写上面while那样的循环?答案是肯定的。

range()函数传入一个数字,返回一个从0到数字-1的数组。这个范围刚好和我们的数组下标范围是一致的。并且由于每次循环的时候,索引值会自动改变,我们也不需要写索引加一的代码了。

当然啦,Python对于循环还增加了更多有趣的函数来配合for的使用。所以它的潜力还需要各位亲自寻找哦。当然,在此之前,我们先要把最基础的给学好,这样遇到新的用法也不会惊慌。好啦,以上就是这一次一分闲聊的内容。我是盾牌君,我们下次见。