Pythonのyieldとは?
Pythonの yield
は、ジェネレータ関数を定義する際に使用されるキーワードです。ジェネレータ関数は、イテレータを返す特殊な関数です。
yieldの基本的な使い方
yield
は通常、forループと組み合わせて使用されます。以下がその具体例です。
def simple_generator():
yield 1
yield 2
yield 3
for value in simple_generator():
print(value)
上記のコードを実行すると、「1」「2」「3」が順番に出力されます。
ジェネレータ関数での活用
yield
はジェネレータ関数内で値を生成するためにも使われます。以下がその例です。
def count_up_to(n):
count = 1
while count <= n:
yield count
count += 1
for number in count_up_to(5):
print(number)
このコードでは、count_up_to
関数がジェネレータ関数であり、yield
を使用して値をひとつずつ生成します。
yieldの利点と活用シーン
yield
を使用すると、関数の実行を一時的に停止し、後から再開も可能です。これは例えば、大規模なファイルを行ごとに処理する場合や、大量のデータを小さなチャンクに分割して処理する場合に特に有用です。
まとめ
Pythonの yield
は、ジェネレータ関数を定義する際に使用されるキーワードであり、ジェネレータ関数はイテレータを返す特殊な関数です。yield
を使用すると、関数の実行を一時的に停止し、後から再開も可能です。これにより、大量のデータを一度にロードする必要がなく、必要なときに値を生成できます。.