迭代器對(duì)象?

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

PyTypeObject PySeqIter_Type?
Part of the Stable ABI.

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

int PySeqIter_Check(op)?

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

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

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

PyTypeObject PyCallIter_Type?
Part of the Stable ABI.

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

int PyCallIter_Check(op)?

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

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

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