python生成器和迭代器
生成器:具有生成能力的对象
迭代器:具有取值功能的对象
1 def func(): 2 3 yield 1 4 5 yield 2 6 7 yield 3 8 9 ret = func() #func()函数体称为生成器 10 11 r=ret._next_() #进入函数找到yield,获取yield后面的数据,通过_next_()来获取值叫做迭代器 12 13 print(r) 14 15 r=ret._next_() 16 print(r) 17 18 r=ret._next_() 19 20 print(r) 21 22 输出: 23 24 1 25 26 2 27 28 3
或者我们可以用一个for循环来获取yield后面的数据
1 def func(): 2 3 yiled 1 4 5 yiled 2 6 7 yiled 3 8 9 ret = func() 10 11 for i in ret: 12 13 print(i) 14 15 16 17 输出: 18 19 1 20 21 2 22 23 3

浙公网安备 33010602011771号