2
次のコードを整理するだけです。yield式を関数の引数にできないのはなぜですか?
yield関数をprint関数に移動しましたが、構文エラーが発生しました。私は、なぜyield式が以下のような関数の引数になることができないのだろうかと思っていますか? yieldが式のように働く場合、関数の引数としては大丈夫です。
def well_known_generator():
print('start')
print(yield 100)
print(yield 200)
print(yield 300)
print('end')
g = well_known_generator()
print(next(g), g.send(None), g.send(None), g.send(None))
SyntaxError: invalid syntax (<ipython-input-58-bdb3007bb80f>, line 3)
File "<ipython-input-58-bdb3007bb80f>", line 3
print(yield 100)
^
SyntaxError: invalid syntax