ジェネレータ
関数の処理の途中で中断して、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の最後の部分が出力される
終了