码迷,mamicode.com
首页 > 编程语言 > 详细

Python学习(十四)--迭代器

时间:2018-07-08 16:36:24      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:返回   bsp   __init__   ext   span   def   调用   code   循环   

        迭代的意思是重复做一件事很多次,就像在循环中做的那样。如果一个对象实现了__iter__方法,就可以对对象进行迭代。
        __iter__方法会返回一个迭代器,所谓的迭代器就是具有next方法的对象。next方法不需要任何参数,调用next方法时,迭代器会返回他的下一个值。如果next方法被调用,但是迭代器没有值可以返回,就会引发一个StopIteration异常。
        迭代器是使用的时候算一个值,不是像列表一样一次性获取所有制,占用较多内存。
class Fibs(Object):
    def __init__(self):
        self.a = 0
        self.b = 1
    def next(self):
        self.a, self.b = self.b, self.a+self.b
        return self.a
    def __iter__(self):
        return self
 
fibs = Fibs()
for f in fibs:
    if f >20:
        print f
        break 

 

Python学习(十四)--迭代器

标签:返回   bsp   __init__   ext   span   def   调用   code   循环   

原文地址:https://www.cnblogs.com/mujiujiu/p/9280064.html

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