python生成器、迭代器
python生成器
函数里面有 yield 关键字。 就是生成器函数
1 def xrange(): 2 print(11) 3 yield 1 4 5 print(22) 6 yield 2 7 8 print(33) 9 yield 3 10 #仅仅获取到一个生成器 11 r = xrange() 12 #生成器__next__方法,执行函数寻找下一个yield 。 13 ret = r.__next__() 14 print(ret) 15 16 ret = r.__next__() 17 print(ret) 18 19 ret = r.__next__() 20 print(ret)
生成器实现
1 def xrange(n): 2 start = 0 3 while True: 4 if start > n: 5 return 6 yield start 7 start +=1 8 9 r = xrange(5) 10 11 n1 = r.__next__() 12 13 n2 = r.__next__() 14 15 n3 = r.__next__() 16 17 n4 = r.__next__() 18 19 n5 = r.__next__() 20 21 n6 = r.__next__() 22 print(n1,n2,n3,n4,n5,n6)
迭代器

浙公网安备 33010602011771号