問題一覧に戻る
上級高度な機能
問題98: ジェネレータ関数

ジェネレータ関数は、yieldキーワードを使って値を1つずつ生成する特殊な関数です。通常の関数と異なり、実行を中断・再開でき、メモリ効率的に大量のデータを扱えます。next()関数で次の値を取得するか、forループで反復処理できます。

# ジェネレータ関数
def count_up(n):
i = 0
while i < n:
i
i += 1

# ジェネレータを使用
gen = count_up(3)
print((gen))
print((gen))
print((gen))