好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

关于Python中的range对象是不是迭代器的探讨

迭代器(iterator)是惰性可迭代对象(lazy iterable),range 函数在 Python 3 中是一个惰性的可迭代对象,那么 range 是不是迭代器呢?为什么。

总结

如果你知道你可以循环遍历某个对象,这是一个可迭代对象( iterable )。

如果你知道你正在循环遍历的对象是在循环的时候计算出来,那么这是一个惰性可迭代对象( lazy iterable )。

如果你知道你可以传递一些东西给 next 函数,它就是一个迭代器(这是最常见的惰性可迭代对象)。

如果你可以循环多次而不用「耗尽」它,它不是一个迭代器。如果你不能将某些东西传递给 next 函数,那么它不是一个迭代器。 Python 3 的 range 对象不是迭代器。 如果你正在指导别人关于 range 对象的知识,请不要使用「迭代器」一词,这会让人十分困惑,并可能导致他人开始滥用「迭代器」这个词

相关推荐:

以上就是关于Python中的range 对象是不是迭代器的探讨的详细内容,更多请关注Gxl网其它相关文章!

查看更多关于关于Python中的range对象是不是迭代器的探讨的详细内容...

  阅读:37次