Pythonのyieldとは?
Pythonの yield
は、ジェネレータ関数を定義する際に使用されるキーワードです。ジェネレータ関数は、イテレータを返す特殊な関数です。通常の関数と異なり、yield
キーワードを使用することで、ジェネレータ関数はイテレータを作成し、値を逐次的に生成します。
def count_up_to(n):
i = 1
while i <= n:
yield i
i += 1
上記のコードは、yield
を使用したジェネレータ関数の一例です。
yieldの利点と活用シーン
yield
の理解と活用は、特に大規模なデータを扱う際や、リアルタイムでデータを処理する必要がある場合に、とても有効です。なぜならジェネレータ関数と yield
により、大量のデータを一度にロードする必要がなく、必要なときに値を生成できるからです。
yieldとリスト
yield
は通常、forループと組み合わせて使用されます。以下がその具体例です。
def simple_generator():
yield 1
yield 2
yield 3
for value in simple_generator():
print(value)
上記のコードを実行すると、「1」「2」「3」が順番に出力されます。
まとめ
Pythonの yield
は、ジェネレータ関数を定義するための強力なツールです。大規模なデータを効率的に扱うために、yield
の理解と活用は重要です。