イテレータプロトコル
バージョン2.2の新機能。
イテレータを操作するための2つの関数があります。
- int PyIter_Check(PyObject *o)
オブジェクト o がイテレータプロトコルをサポートしている場合は、trueを返します。
古いスタイルのクラスの場合、これらのクラスは常に next()メソッドを呼び出すか
TypeError
。
- 反復 o から次の値を返します。 オブジェクトはイテレータである必要があります(これを確認するのは呼び出し元の責任です)。 残りの値がない場合は、例外を設定せずに NULL を返します。 アイテムの取得中にエラーが発生した場合は、 NULL を返し、例外を渡します。
イテレータを反復処理するループを作成するには、Cコードは次のようになります。