迭代器对象 — Python 文档

来自菜鸟教程
Python/docs/3.8/c-api/iterator
跳转至:导航、​搜索

迭代器对象

Python 提供了两个通用的迭代器对象。 第一个是序列迭代器,与支持 __getitem__() 方法的任意序列一起工作。 第二个使用可调用对象和标记值,为序列中的每个项目调用可调用对象,并在返回标记值时结束迭代。

PyTypeObject PySeqIter_Type
PySeqIter_New() 返回的迭代器对象的类型对象和内置序列类型的 iter() 内置函数的单参数形式。
int PySeqIter_Check(op)
如果 op 的类型为 PySeqIter_Type,则返回 true。
PyObject *PySeqIter_New(PyObject *seq)
返回一个与通用序列对象 seq 一起工作的迭代器。 当序列为下标操作引发 IndexError 时,迭代结束。
PyTypeObject PyCallIter_Type
PyCallIter_New()iter() 内置函数的两个参数形式返回的迭代器对象的类型对象。
int PyCallIter_Check(op)
如果 op 的类型为 PyCallIter_Type,则返回 true。
PyObject *PyCallIter_New(PyObject *callable, PyObject *sentinel)
返回一个新的迭代器。 第一个参数,callable,可以是任何可以不带参数调用的Python可调用对象; 每次调用它都应该返回迭代中的下一个项目。 当 callable 返回的值等于 sentinel 时,迭代将终止。