Pythonのyield
文は、ジェネレータ関数を定義する際に使用されるキーワードです。ジェネレータ関数は、イテレータを返す特殊な関数で、これにより大量のデータを一度にロードする必要がなく、必要なときに値を生成できます。
def count_up_to(n):
i = 1
while i <= n:
yield i
i += 1
# ジェネレータ関数を呼び出してイテレータを取得
iterator = count_up_to(5)
# イテレータから値を逐次的に取得
print(next(iterator)) # 1
print(next(iterator)) # 2
print(next(iterator)) # 3
print(next(iterator)) # 4
print(next(iterator)) # 5
上記のコードは、yield
を使用したジェネレータ関数の例です。このジェネレータ関数count_up_to(n)
は、1からnまでの数を順に生成します。next()
関数を使用して、イテレータから値を逐次的に取得します。
ジェネレータは、大規模なデータを扱う際や、リアルタイムでデータを処理する必要がある場合に、とても有効です。なぜならジェネレータ関数とyield
により、大量のデータを一度にロードする必要がなく、必要なときに値を生成できるからです。
Pythonのyield
文は、ジェネレータ関数を定義する際に使用されるキーワードであり、ジェネレータ関数は、イテレータを返す特殊な関数です。このように、yield
文はPythonの強力な機能の一つであり、適切に理解し活用することで、より効率的なコードを書くことができます。