自定义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__())
View Code

 

posted @ 2020-09-21 14:05  龚志军Flagon  阅读(130)  评论(0编辑  收藏  举报