ジェネレータ
関数の処理の途中で中断して、yieldを使う事で関数外の処理を実施しても、再びyieldの次から再開できる。
どうやったら効果を発揮するのだろうか?
実装例
def gen(): print("A") yield "X" print("B") yield "Y" print("C") yield "Z" gen_obj = gen() print(next(gen_obj)) print("ここで関数genの外のprintを実行\ngen内に戻る") print(next(gen_obj)) print("ここで関数genの外のprintを実行\ngen内に戻る") print(next(gen_obj)) print("ここで関数genの最後の部分が出力される\n終了")
出力内容
A X ここで関数genの外のprintを実行 gen内に戻る B Y ここで関数genの外のprintを実行 gen内に戻る C Z ここで関数genの最後の部分が出力される 終了