📜  Python | range()不返回迭代器(1)

📅  最后修改于: 2023-12-03 15:34:06.279000             🧑  作者: Mango

Python | range()不返回迭代器

介绍

range()是Python的内置函数,可以用来创建一个指定范围内、步长为1的整数序列,但是很多人错误地认为range()返回的是一个迭代器,这是不正确的。

range()函数的使用方法

range(stop):生成一个从0开始,步长为1,到stop-1的整数序列。

range(start, stop):生成一个从start开始,步长为1,到stop-1的整数序列。

range(start, stop, step):生成一个从start开始,步长为step,到stop-1的整数序列。

其中,start、stop、step均为整数类型。

range()函数的返回值类型

range()函数返回的是一个range对象,而不是迭代器。range对象是一种可迭代对象,可以循环遍历其中的元素,但是与迭代器不同的是,如果需要重新遍历range对象中的元素,就需要重新创建一个新的range对象。

例如,执行以下代码段:

r = range(5)
for i in r:
    print(i)

for i in r:
    print(i)

输出结果为:

0
1
2
3
4

## 总结

`range()`函数生成的是一个整数序列,而不是迭代器,range对象是一种可迭代对象,可以遍历其中的元素。如果需要重新遍历其中的元素,就需要重新创建一个新的range对象。