嗨喽~大家好呀,这里是魔王呐 ❤ ~!

python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取
迭代器是 23 种设计模式中最常用的一种(之一),在 Python 中随处可见它的身影,我们经常用到它,但是却不一定意识到它的存在。
在系统学习迭代器之前,我一直以为 range() 方法也是用于生成迭代器的,现在却突然发现,它生成的只是可迭代对象,而并不是迭代器! (PS:Python2 中 range() 生成的是列表,本文基于Python3,生成的是可迭代对象)
于是,我有了这样的疑问:为什么 range() 不生成迭代器呢?
在查找答案的过程中,我发现自己对 range 类型的认识存在一些误区。因此,本文将和大家全面地认识一下 range ,期待与你共同学习进步。
1、range() 是什么?
它的语法:range(start, stop [,step]) ;
-
start 指的是计数起始值,默认是 0;
-
stop 指的是计数结束值,但不包括 stop ;
-
step 是步长,默认为 1,不可以为 0 。
-
range() 方法生成一段左闭右开的整数范围。

对于 range() 函数,有几个注意点:
(1)它表示的是左

本文详细解读了Python中的range()函数,探讨了它为何不生成迭代器的原因,并分析了range类型是不可变序列的特性。通过分析,作者指出range()作为可迭代对象在功能和效率上的考虑,以及它与其它序列类型的差异。
最低0.47元/天 解锁文章
3259

被折叠的 条评论
为什么被折叠?



