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