Python fstringのyield_expr
Q&A
解決したいこと
3.12以降のpythonのfstringの仕様定義の中にあるyield_exprの意味や使い道を教えてください。
fstringの文法定義
pep 701によると以下となっています。
fstring
| FSTRING_START fstring_middle* FSTRING_END
fstring_middle
| fstring_replacement_field
| FSTRING_MIDDLE
fstring_replacement_field
| '{' (yield_expr | star_expressions) "="? [ "!" NAME ] [ ':' fstring_format_spec* ] '}'
fstring_format_spec:
| FSTRING_MIDDLE
| fstring_replacement_field
star_expressionsの定義を調べると、star(*)の付く式も付かない式も合致する定義であろうことが分かりましたので、通常のfstring中の{expr}の部分は、star_expressionsに相当すると思われます。
yield_exprの使い方と使い道については、色々ググっても見つけられていません。識者の方、お教えいただけないでしょうか。