yield
yield は、Pythonにおいてジェネレータ(Generator)を作成するための特別なキーワードです。ジェネレータはイテレータを生成するための一種の関数で、yield を含む関数は一時的に実行を中断し、値を返すことができます。その後、関数の状態が保持され、再開した位置から実行が続行されます。これにより、大きなデータセットや無限のシーケンスを生成する際に非常に効率的な方法が提供されます。
以下は yield の基本的な使用方法と説明です:
python
def my_generator(): yield 1 yield 2 yield 3 # ジェネレータオブジェクトを作成 gen = my_generator() # イテレータとしてジェネレータを使用 for value in gen: print(value)
この例では、my_generator というジェネレータ関数が定義されています。この関数内には3つの yield ステートメントがあり、各ステートメントは値を生成します。ジェネレータ関数から生成された gen ジェネレータオブジェクトは、for ループを使用して値を逐次取り出し、それを印刷します。
yield を含むジェネレータは、関数内で状態を保持するため、実行が中断された後でも状態は保持されます。これにより、大きなデータセットをメモリに一度に読み込む必要がなく、効率的に処理できるため、メモリ効率が向上します。ジェネレータはまた、無限のシーケンスを生成するのにも役立ちます。

ディスカッション
コメント一覧
まだ、コメントがありません