迭代器對象?

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

PyTypeObject PySeqIter_Type?

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

int PySeqIter_Check(op)?

如果 op 的類型為 PySeqIter_Type 則返回 true。

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

返回一個與常規序列對象一起使用的迭代器 seq。 當序列訂閱操作引發 IndexError 時,迭代結束。

PyTypeObject PyCallIter_Type?

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

int PyCallIter_Check(op)?

如果 op 的類型為 PyCallIter_Type 則返回 true。

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

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