擅长:python、mysql、java
<p>不,您没有更改<code>yield 5</code>表达式使生成器生成的内容。你知道吗</p>
<p><code>.send()</code>将更改<code>m</code><em>内部的本地<code>h()</code></em>将设置为only的内容。你知道吗</p>
<p>结果是:</p>
<ul>
<li>创建<code>h()</code>,一个生成器函数,执行被冻结。你知道吗</li>
<li>在生成器上调用<code>.next()</code>。继续执行,打印<code>'Wen Chuan'</code>,代码运行到<code>yield 5</code>表达式。<code>5</code>返回并分配给全局<code>m</code>。发电机再次暂停。你知道吗</li>
<li>你叫<code>c.send('Fighting!')</code>。执行被恢复,<code>'Fighting!'</code>被分配给生成器函数中的局部变量<code>m</code>,<code>print m</code>打印它。<code>yield 12</code>被执行,生成器被暂停,<code>12</code>被分配给全局变量<code>d</code>。你知道吗</li>
<li><code>'We will never forget the date', 5, '.', 12</code>已打印。你知道吗</li>
</ul>
<p>此时,生成器函数仍然暂停,并且生成器函数的最后一行永远不会执行。如果要再次调用<code>.next()</code>,则<code>'We are together!'</code>将被打印,生成器端和<code>StopIteration</code>将被提升。你知道吗</p>