小编典典

究竟什么是迭代器、可迭代和迭代?

all

Python中“iterable”、“iterator”和“iteration”最基本的定义是什么?

我已经阅读了多个定义,但我无法确定确切的含义,因为它仍然不会下沉。

有人可以帮我用外行术语的3个定义吗?


阅读 136

收藏
2022-03-11

共1个答案

小编典典

迭代 是一个通用术语,用于一个接一个地获取某物的每一项。每当您使用循环(显式或隐式)来遍历一组项目时,这就是迭代。

在 Python 中, iterableiterator 具有特定的含义。

迭代 对象是具有__iter__返回 迭代器
的方法的对象,或者定义了__getitem__可以从零开始获取顺序索引的方法(并IndexError在索引不再有效时引发 )。因此, 可迭代
对象是您可以从中获取 迭代器 的对象。

迭代器 是具有next(Python 2) 或__next__(Python 3) 方法的对象。

每当你在 Python 中使用for循环、或map、列表推导等时,next都会自动调用该方法从 迭代器 中获取每个项目,从而完成
迭代 的过程。

开始学习的好地方是本教程迭代器部分和标准类型页面的迭代器类型部分。了解基础知识后,请尝试函数式编程 HOWTO
的迭代器部分

2022-03-11