迭代器對象?

Python 提供了兩個通用迭代器對象。 第一個是序列迭代器,它使用支持 __getitem__() 方法的任意序列。 第二個使用可調(diào)用對象和一個 sentinel 值,為序列中的每個項調(diào)用可調(diào)用對象,并在返回 sentinel 值時結(jié)束迭代。

PyTypeObject PySeqIter_Type?
Part of the Stable ABI.

PySeqIter_New() 返回迭代器對象的類型對象和內(nèi)置序列類型內(nèi)置函數(shù) iter() 的單參數(shù)形式。

int PySeqIter_Check(op)?

如果 op 的類型為 PySeqIter_Type 則返回真值。 此函數(shù)總是會成功執(zhí)行。

PyObject *PySeqIter_New(PyObject *seq)?
Return value: New reference. Part of the Stable ABI.

返回一個與常規(guī)序列對象一起使用的迭代器 seq。 當(dāng)序列訂閱操作引發(fā) IndexError 時,迭代結(jié)束。

PyTypeObject PyCallIter_Type?
Part of the Stable ABI.

由函數(shù) PyCallIter_New()iter() 內(nèi)置函數(shù)的雙參數(shù)形式返回的迭代器對象類型對象。

int PyCallIter_Check(op)?

如果 op 的類型為 PyCallIter_Type 則返回真值。 此函數(shù)總是會成功執(zhí)行。

PyObject *PyCallIter_New(PyObject *callable, PyObject *sentinel)?
Return value: New reference. Part of the Stable ABI.

返回一個新的迭代器。 第一個參數(shù) callable 可以是任何可以在沒有參數(shù)的情況下調(diào)用的 Python 可調(diào)用對象;每次調(diào)用都應(yīng)該返回迭代中的下一個項目。 當(dāng) callable 返回等于 sentinel 的值時,迭代將終止。