自定义generator
range的步长都是整型int,那么我们可以自定义一个步长为浮点型float的生成器:
1 def float_range(start, end ,step = 0.5): 2 x = start 3 while x < end: 4 yield x 5 x += step 6 7 8 # 上面定义了生成器,下面打印看结果 9 for i in float_range(10,20): 10 print(i) 11 iter1 = iter(float_range(10, 20)) 12 print('生成器转换成迭代器:', iter1) 13 print(next(iter1)) 14 print(iter1.__next__())