1. ホーム
  2. パイソン

[解決済み】イテレータ、イテラブル、イテレーションとは一体何ですか?

2022-03-23 10:27:01

質問

Pythonにおける、"iterable", "iterator", "iteration" の最も基本的な定義は何でしょうか。

複数の定義を読みましたが、まだ腑に落ちず、正確な意味を特定できません。

どなたか、3つの定義を平易な言葉で教えていただけませんか?

どのように解決するのですか?

イテレーション とは、何かの項目を一つずつ取り上げていくことの総称です。明示的、暗黙的を問わず、ループを使用して一連の項目を処理する場合は、反復処理となります。

Pythonの場合。 イテラブル イテレータ は特定の意味を持つ。

An イテラブル を持つオブジェクトです。 __iter__ を返すメソッドです。 イテレータ を定義している場合、または __getitem__ メソッドで、0から始まる連続したインデックスを取ることができます(そして、そのインデックスは IndexError は、インデックスが有効でなくなったとき)。そのため イテラブル を取得することができるオブジェクトです。 イテレータ から取得します。

An イテレータ はオブジェクトで next (Python 2)または __next__ (Python 3) メソッドを使用します。

を使うときは必ず for ループ、または map やリスト内包など、Pythonでは next メソッドが自動的に呼び出され、各項目を イテレータ というプロセスを経ることになり、その結果 イテレーション .

学習するのに適しているのは チュートリアルのイテレータのセクション 標準型ページのイテレータ型セクション . 基本を理解したら、次は 関数型プログラミングHOWTOのイテレータセクション .