有趣的python range()

作者: LittleWizard | 来源:发表于2015-08-11 11:21 被阅读119次

废话不多说,直接贴代码:
代码1
<pre><code>for i in range(5):
print i
i += 2
print i
print '一轮结束'</code></pre>
代码2
<pre><code>i = 0
while i < 5:
print i
i += 2
print i
print '一轮结束'</code></pre>

可以自行在大脑中yy一下这两段代码的结果,想一想是不是运行结果一样,还是不一样呢?然后看看下面的结果
代码1运行结果:


代码2运行结果:

我们来理解下为什么这两者的运行结果不一样,首先我们要明确一点,那就是range()函数实际上返回的是一个列表,而上述代码1中,for i in range(5),其实是i从[0, 1, 2, 3, 4]的列表中逐一取值,所以每轮都是新的赋值操作。

我们再来看一下range()函数
函数原型:range(start, end, scan):
参数含义

  • start:计数从start开始。默认是从0开始。例如range(5)等价于range(0, 5);
  • end:技术到end结束,但不包括end。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
  • scan:每次跳跃的间距,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

由此我们应该注意两点,首先明确range函数的概念

相关文章

网友评论

    本文标题:有趣的python range()

    本文链接:https://www.haomeiwen.com/subject/vzeiqttx.html