擅长:python、mysql、java
<p>python3.3引入了<a href="https://docs.python.org/3/whatsnew/3.3.html#pep-380" rel="nofollow noreferrer">^{<cd1>} for generator delegation</a>,这正是您所要求的。<code>yield from</code>允许主生成器将功能委托给另一个也包含<code>yield</code>语句的函数,如下所示:</p>
<pre><code>def hardWork():
for i in range(N):
# hard work
yield 'Work done so far: ' + str(i)
# With this construction, you can still return a result after the `yield`s
return result
def generator():
# here's the new construction that makes it all work:
result = yield from hardWork()
# do other calculations with this result
yield finalResult
</code></pre>