码迷,mamicode.com
首页 > 其他好文 > 详细

实现一个可迭代的类

时间:2014-08-19 23:44:05      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   for   div   log   line   

可迭代的类

实现一个可迭代的类,需要在类里面定义两种方法:

1. __iter__():返回iterator对象本身

2. next():每当next()方法被调用时,返回下一个值,直到抛出StopIteration的异常

 1 class Fabonacci(object):
 2     """Fabonacci Class
 3 
 4     Return Fabonacci Number
 5     """
 6     def __init__(self, num):
 7         self.num = num
 8         self.n, self.a, self.b = 0, 0, 1
 9 
10     def __iter__(self):
11         return self
12 
13     def next(self):
14         if self.n < self.num:
15             result = self.b
16             self.a, self.b = self.b, self.a+self.b
17             self.n = self.n + 1
18 
19             return result
20 
21         raise StopIteration()
22 
23 if __name__ == "__main__":
24 
25     fab = Fabonacci(5)
26 
27     for n in fab:
28         print n
29         


 

实现一个可迭代的类,布布扣,bubuko.com

实现一个可迭代的类

标签:style   blog   color   io   for   div   log   line   

原文地址:http://www.cnblogs.com/zhouwenhong/p/3923449.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!