有趣的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