yield
キーワードで返します。yield
キーワードは、値を返すだけでなく、関数の状態を保持し、次に呼び出されたときに処理を再開する機能も持っています。これにより、ジェネレータ関数はイテレーションのたびに値を生成することができます。
以下に、ジェネレータ関数の使い方とコード例をいくつか示します。
def count_up(start, end):
current = start
while current <= end:
yield current
current += 1
# ジェネレータ関数を使用して数を生成する
counter = count_up(1, 5)
for num in counter:
print(num)
上記の例では、count_up
という名前のジェネレータ関数を定義しています。この関数は、start
からend
までの数値を生成します。yield
キーワードにより、関数は数値を返し、その状態を保持します。for
ループを使用して、ジェネレータ関数から生成された数値を順番に取得し、表示しています。
ジェネレータ関数は、大量のデータをメモリに一度に読み込まずに処理する場合や、逐次的なデータ生成が必要な場合に特に有用です。例えば、巨大なファイルの行を一度にメモリに読み込む代わりに、ジェネレータ関数を使用して行を逐次的に生成することができます。
ジェネレータ関数は、Pythonプログラミングにおいて非常に便利なツールであり、効率的なデータ処理やイテレーションを実現するために活用されています。