首页 > 其他 > 详细

【笔记】反向迭代

时间:2017-05-30 15:15:33      阅读:289      评论:0      收藏:0      [点我收藏+]

实现一个连续浮点数发生器FloatRange,产生一些连续浮点数。

实现反向迭代协议的__reversed__方法,它返回一个迭代器。

 1 class FloatRange:
 2     def __init__(self,start,end,step = 0.1):
 3         self.start = start
 4         self.end = end
 5         self.step = step
 6     
 7     def __iter__(self):
 8         t = self.start
 9         while t <= self.end:
10             yield t
11             t += self.step
12     
13     def __reversed__(self):
14         t = self.end
15         while t >= self.start:
16             yield t
17             t -= self.step
18             
19 if __name__ == "__main__":
20     
21     for x in FloatRange(1.0,4.0,0.5):
22         print x
23     
24     for x in reversed(FloatRange(1.0,4.0,0.5)):
25         print x
26     

 

【笔记】反向迭代

原文:http://www.cnblogs.com/banshaohuan/p/6920259.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!