原文链接:https://blog.csdn.net/pfm685757/article/details/49924099
对于普通的生成器,第一个next调用,相当于启动生成器,会从生成器函数的第一行代码开始执行,直到第一次执行完yield语句(第4行)后,跳出生成器函数。
然后第二个next调用,进入生成器函数后,从yield语句的下一句语句(第5行)开始执行,然后重新运行到yield语句,执行后,跳出生成器函数,
后面再次调用next,依次类推。下面是一个列子:
1 def consumer():
2 r = 'here'
3 for i in xrange(3):
4 yield r
5 r = '200 OK'+ str(i)
6
7 c = consumer()
8 n1 = c.next()
9 n2 = c.next()
10 n3 = c.next()
————————————————
版权声明:本文为CSDN博主「pfm685757」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/pfm685757/article/details/49924099
生成结果: