>>> def Test(a):
print "进入..", a
if a <= 0:
yield a
return
Test(a - 1)
yield a
yield Test(a - 2)
print "退出..", a
>>> res=Test(4)
>>> for i in res:
print i
进入.. 4
4
<generator object at 0x00D33BE8>
退出.. 4
yield Test(a-2)返回一个Test的实例,而Test(a-1)不返回,这有点类似list中的list嵌套
>>> for i in [1,2,3,[4,5],6]:
print i
1
2
3
[4, 5]
6
i只代表第一个list中的元素,而不表示里面的list