class range(start, stop[, step])
The arguments to the range constructor must be integers (either built-in int or any object that implements the index() special method). If the step argument is omitted, it defaults to 1. If the start argument is omitted, it defaults to 0. If step is zero, ValueError is raised.
如果 step 为正值,确定 range r 内容的公式为 r[i] = start + step*i
其中 i >= 0 且 r[i] < stop。
如果 step 为负值,确定 range 内容的公式仍然为 r[i] = start + step*i
但限制条件改为 i >= 0 且 r[i] > stop.
总结:range有三个参数,start stop step
start不写则默认是0
step不写则默认是1
range包start不包stop
>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(range(1, 11))
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> list(range(0, 30, 5))
[0, 5, 10, 15, 20, 25]
>>> list(range(0, 10, 3))
[0, 3, 6, 9]
>>> list(range(0, -10, -1))
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
>>> list(range(0))
[]
>>> list(range(1, 0))
[]
使用 == 和 != 检测 range 对象是否相等是将其作为序列来比较。也就是说,如果两个 range 对象表示相同的值序列就认为它们是相等的。
例如 range(0) == range(2, 1, 3) 而 range(0, 3, 2) == range(0, 4, 2)。
根据表示的值来进行比较 range实际上是一个list??