【发布时间】:2014-04-08 11:58:27
【问题描述】:
我正在尝试理解以下方法,
In [26]: def generator():
....: print 'generator function hits'
....: for i in range(3):
....: yield i
....:
In [27]: def normal():
....: print 'normal function hits'
....: return range(3)
....:
In [28]: gen = generator()
In [29]: type(gen)
Out[29]: generator
In [30]: fun = normal()
normal function hits
In [31]: type(fun)
Out[31]: list
这是我对上述代码的研究,
26 是 generator() 函数,27 是 normal() 函数,当我将 generator() 函数分配给 gen 变量时,我没有看到任何像 generator function hits 这样的打印消息,但是如果我已将 normal() 函数分配给 fun 变量,我看到了像 normal function hits 这样的打印消息。我的问题是why generator() function not hit ?
【问题讨论】:
-
What can you use Python generator functions for? 的可能重复项(答案就在此处,即使以冗长的方式回答。)