python 迭代器

来源:互联网 发布:易语言dnf界面源码 编辑:程序博客网 时间:2024/05/22 01:40

迭代器的简单理解:

iter()__iter__()next()__next__()

例如构造简单的阶乘:

class factorial:    def __init__(self,n):        self.sum =1        self.end = n        self.start = 1    def __iter__(self):        return self    def next(self):        if self.start <= self.end:            self.sum *= self.start            self.start +=1            return self.sum        else:            raise StopIteration        f1 = factorial(4)#方式1it = iter(f1)print it.next()print it.next()print it.next()print it.next()#方式2for each in f1:    print each    

it.next()会让迭代指针一直指向下个目标,所以执行4次it.next()后,在再执行for语句,则无任何输出

原创粉丝点击