迭代器对象

python提供了两个通用迭代器对象。第一个是序列迭代器,它使用支持 __getitem__() 方法。第二个函数使用一个可调用对象和一个sentinel值,为序列中的每个项调用callable,并在返回sentinel值时结束迭代。

PyTypeObject PySeqIter_Type

由返回的迭代器对象的类型对象 PySeqIter_New() 以及 iter() 内置序列类型的内置函数。

int PySeqIter_Check(op)

如果类型为True,则返回TRUE opPySeqIter_Type 。此功能总是成功的。

PyObject *PySeqIter_New(PyObject *seq)
Return value: New reference.

返回一个使用常规序列对象的迭代器, seq . 当序列引发时迭代结束 IndexError 用于订阅操作。

PyTypeObject PyCallIter_Type

由返回的迭代器对象的类型对象 PyCallIter_New() 以及 iter() 内置功能。

int PyCallIter_Check(op)

如果类型为True,则返回TRUE opPyCallIter_Type 。此功能总是成功的。

PyObject *PyCallIter_New(PyObject *callable, PyObject *sentinel)
Return value: New reference.

返回新的迭代器。第一个参数, 可赎回的 ,可以是任何可以不带参数调用的python可调用对象;对它的每次调用都应返回迭代中的下一项。什么时候? 可赎回的 返回一个等于 哨兵 ,迭代将终止。