疊代器(Iterator)物件¶
Python 提供了兩種通用的疊代器 (iterator) 物件,第一種是序列疊代器 (sequence iterator),適用於支援 __getitem__()
方法的任意序列,第二種是與可呼叫 (callable) 物件和哨兵值 (sentinel value) 一起使用,會呼叫序列中的每個可呼叫物件,當回傳哨兵值時就結束疊代。
-
PyTypeObject PySeqIter_Type¶
- 為 穩定 ABI 的一部分.
此型別物件用於由
PySeqIter_New()
所回傳的疊代器物件以及用於內建序列型別的內建函式iter()
的單引數形式。
-
int PySeqIter_Check(PyObject *op)¶
如果 op 的类型为
PySeqIter_Type
则返回真值。 此函数总是会成功执行。
-
PyObject *PySeqIter_New(PyObject *seq)¶
- 回傳值:新的參照。 為 穩定 ABI 的一部分.
返回一个与常规序列对象一起使用的迭代器 seq。 当序列订阅操作引发
IndexError
时,迭代结束。
-
PyTypeObject PyCallIter_Type¶
- 為 穩定 ABI 的一部分.
由函数
PyCallIter_New()
和iter()
内置函数的双参数形式返回的迭代器对象类型对象。
-
int PyCallIter_Check(PyObject *op)¶
如果 op 的类型为
PyCallIter_Type
则返回真值。 此函数总是会成功执行。
-
PyObject *PyCallIter_New(PyObject *callable, PyObject *sentinel)¶
- 回傳值:新的參照。 為 穩定 ABI 的一部分.
返回一个新的迭代器。 第一个参数 callable 可以是任何可以在没有参数的情况下调用的 Python 可调用对象;每次调用都应该返回迭代中的下一个项目。 当 callable 返回等于 sentinel 的值时,迭代将终止。