イテレータオブジェクト—Pythonドキュメント

提供:Dev Guides
< PythonPython/docs/3.8/c-api/iterator
移動先:案内検索

イテレータオブジェクト

Pythonは、2つの汎用イテレータオブジェクトを提供します。 最初のシーケンスイテレータは、__getitem__()メソッドをサポートする任意のシーケンスで動作します。 2つ目は、呼び出し可能オブジェクトと番兵値を処理し、シーケンス内の各アイテムの呼び出し可能値を呼び出し、番兵値が返されたときに反復を終了します。

PyTypeObject PySeqIter_Type
PySeqIter_New()によって返されるイテレータオブジェクトの型オブジェクトと、組み込みシーケンス型の iter()組み込み関数の1つの引数形式。
int PySeqIter_Check(op)
op のタイプが PySeqIter_Type の場合はtrueを返します。
PyObject *PySeqIter_New(PyObject *seq)
一般的なシーケンスオブジェクト seq で機能するイテレータを返します。 シーケンスが添え字操作のために IndexError を発生させると、反復は終了します。
PyTypeObject PyCallIter_Type
PyCallIter_New()によって返されるイテレーターオブジェクトのタイプオブジェクトと、 iter()組み込み関数の2つの引数形式。
int PyCallIter_Check(op)
op のタイプが PyCallIter_Type の場合はtrueを返します。
PyObject *PyCallIter_New(PyObject *callable, PyObject *sentinel)
新しいイテレータを返します。 最初のパラメーター callable は、パラメーターなしで呼び出すことができる任意のPython呼び出し可能オブジェクトにすることができます。 それを呼び出すたびに、反復の次の項目が返されます。 callablesentinel に等しい値を返すと、反復は終了します。