ベストアンサー1
反復とは、何かの各項目を 1 つずつ取得することを意味する一般的な用語です。明示的または暗黙的なループを使用して項目のグループを処理するときはいつでも、それが反復です。
Python では、iterableとiteratorには特定の意味があります。
反復可能オブジェクトは、イテレータ__iter__
を返すメソッドを持つオブジェクト、またはゼロから始まる連続したインデックスを取得できるメソッドを定義するオブジェクトです (インデックスが有効でなくなったときに が発生します)。つまり、反復可能オブジェクトは、イテレータを取得できるオブジェクトです。__getitem__
IndexError
イテレータはnext
、(Python 2) または__next__
(Python 3) メソッドを持つオブジェクトです。
for
Python でループ、map
、リスト内包表記などを使用するときは常に、next
メソッドが自動的に呼び出され、イテレータから各項目が取得され、反復処理が実行されます。
学習を始めるのに良い場所はチュートリアルの反復子セクションそしてその標準型ページの反復子型セクション基本を理解したら、関数型プログラミング HOWTO の反復子セクション。