迭代器物件

Python 提供了兩個通用的迭代器物件。第一個是序列迭代器,它適用於支援 __getitem__() 方法的任意序列。第二個適用於可呼叫物件和哨兵值,為序列中的每個專案呼叫可呼叫物件,並在返回哨兵值時結束迭代。

PyTypeObject PySeqIter_Type
屬於 穩定 ABI 的一部分。

PySeqIter_New() 和內建函式 iter() 的單引數形式返回的迭代器物件的型別物件,用於內建序列型別。

int PySeqIter_Check(PyObject *op)

如果 op 的型別是 PySeqIter_Type,則返回 true。此函式始終成功。

PyObject *PySeqIter_New(PyObject *seq)
返回值:新引用。 屬於 穩定 ABI 的一部分。

返回一個適用於通用序列物件 seq 的迭代器。當序列為下標操作引發 IndexError 時,迭代結束。

PyTypeObject PyCallIter_Type
屬於 穩定 ABI 的一部分。

PyCallIter_New() 和內建函式 iter() 的雙引數形式返回的迭代器物件的型別物件。

int PyCallIter_Check(PyObject *op)

如果 op 的型別是 PyCallIter_Type,則返回 true。此函式始終成功。

PyObject *PyCallIter_New(PyObject *callable, PyObject *sentinel)
返回值:新引用。 屬於 穩定 ABI 的一部分。

返回一個新的迭代器。第一個引數 callable 可以是任何不帶引數即可呼叫的 Python 可呼叫物件;對它的每次呼叫都應返回迭代中的下一個專案。當 callable 返回一個等於 sentinel 的值時,迭代將終止。