Python の yield は単一スレッドで制御を受渡しする様な動作2020年10月21日 12時37分01秒

最近 Python を使うような場面が増えて来たので、あれこれと調べながら使っている。最近目を引いたのが yield。Python で yield value の不思議な構文を見て調べてみた。yield と言うと、スレッド環境で実行中の制御を他に受け渡す関数。スレッドも生成しない環境ででてくるので不思議に思ったわけだ。

python の yield。サクッと理解するには return と比較の図解が分かりやすかった。確かに複数回に分けて return をする感覚だ。

ループに組み込んで使うには処理を分割する様な感じの使い方になる。しかし、単体で用いると goto または longjump の様な代物。