擅长:python、mysql、java
<p>我认为您应该研究“generators”(即“yield”python关键字)。基本上,生成器允许您在函数调用过程中暂停并返回结果。当函数再次被“调用”时,它将在“yield”之后的行恢复。当你最终“回来”的时候,你就完成了。在</p>
<p>下面是一些示例代码:</p>
<pre><code>def myGen(*x):
for elem in x:
print "in myGen"
yield elem
def myFn(*x):
ret = []
for elem in x:
print "in myFn"
ret.append(x)
return x
for e in myGen(1,2,3,4,5):
print e
for e in myFn(1,2,3,4,5):
print e
</code></pre>
<p>输出如下。注意,在generator case(myGen)中,“in myGen”与列表的打印交替打印。但在myFn中,当然“in myFn”是首先打印出来的。在</p>
^{pr2}$