yield from式
yield from <expr>
<expr>を評価した結果はiterableである必要がある
与えられたiterableからiteratorを取り出して、呼び出し側に値を順次返す
このiteratorのことをsubgeneratorという
「subgeneratorへ委譲する」という
subgeneratorが持つ全ての値が返されるまで、構文上は処理が完了しない
外側のgenerator(yield from式を使っているgenerator functionで生成されるgenerator)に対してメソッドを実行すると、subgeneratorに対しても対応するメソッドが実行される
subgeneratorで値が(yieldではなく)returnされると、yield from式の評価が終了し、returnされた値が評価結果になる
generatorがreturnするとStopIteration例外が発生するが、subgeneratorの場合はしない(内部でうまく処理される)
大規模なgenerator functionの処理を複数の関数に分割するためのもの
/villagepump/generatorを返す多重forループがあるとき、ループの深さを減らしたい (Python)#629bbbc6e5172d0000038aac
#yield式
#Python Python.icon