ホームページ >バックエンド開発 >Python チュートリアル >Python のイテラブルとイテレータ: 違いは何ですか?
プログラミングにおいて、反復は一連の要素を走査する際に重要な役割を果たします。 Python では、反復に関連する 2 つの重要な概念、反復可能と反復子を導入しています。
反復可能とは何ですか?
Python では、反復可能とは、 for ループを使用して要素に 1 つずつアクセスします。イテレータを返す __iter__ メソッドを実装する必要があります。あるいは、イテラブルは、ゼロから始まる順次インデックス付けをサポートし、インデックスが有効でなくなったときに IndexError をスローする __getitem__ メソッドを定義することもできます。
イテレータとは?
イテレータは、反復可能な要素に順次アクセスする方法を提供するオブジェクトです。これには、反復可能オブジェクトの次の要素を返す next() (Python 2 の場合) または __next__ (Python 3 の場合) メソッドがあります。要素がなくなると、next() メソッドは StopIteration 例外を発生させます。
反復プロセス
反復では、反復子の next() メソッドを繰り返し呼び出す必要があります。イテラブルの各要素をフェッチします。このプロセスは、反復子が StopIteration 例外を発生させるまで続きます。たとえば、Python で for ループを使用する場合:
for ループは、StopIteration が呼び出されるまで、反復可能イテレータの next() メソッドを内部的に呼び出して次の要素を取得します。
以上がPython のイテラブルとイテレータ: 違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。