イテレータオブジェクト (iterator object)¶
Python では二種類のイテレータオブジェクトを提供しています。一つ目はシーケンスイテレータで、 __getitem__()
メソッドをサポートする任意のシーケンスを取り扱います。二つ目は呼び出し可能オブジェクトとセンチネル値 (sentinel value) を扱い、シーケンス内の要素ごとに呼び出し可能オブジェクトを呼び出して、センチネル値が返されたときに反復処理を終了します。
-
PyTypeObject
PySeqIter_Type
¶ PySeqIter_New()
や、組み込みシーケンス型に対して 1 引数形式の組み込み関数iter()
を呼び出したときに返される、イテレータオブジェクトの型オブジェクトです。
-
int
PySeqIter_Check
(op)¶ op の型が
PySeqlter_Type
型の場合に真を返します。この関数は常に成功します。
-
PyObject*
PySeqIter_New
(PyObject *seq)¶ - Return value: New reference.
一般的なシーケンスオブジェクト seq を扱うイテレータを返します。反復処理は、シーケンスが添字指定操作の際に
IndexError
を返したときに終了します。
-
PyTypeObject
PyCallIter_Type
¶ PyCallIter_New()
や、組み込み関数iter()
の 2 引数形式が返すイテレータオブジェクトの型オブジェクトです。
-
int
PyCallIter_Check
(op)¶ op の型が
PyCallIter_Type
型の場合に真を返します。この関数は常に成功します。