Python3 --迭代器类示例

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaoxifei/article/details/81605017

在python3 中的迭代器类构建同python2中有所不同;但是国内网上的大多数是python2的情况以及简单的对list使用iter()函数的情况,现在下面给出python3 的迭代器类示例,需要注意的是需要写好__iter__和__next__两个函数,国内网上大多数写的是next函数,会产生误导,这一点需要注意:

from random import random

class RandomIterator:
    def __init__(self,k):
        self.k = k
        self.i = 0
    def __iter__(self):
        return self
    def __next__(self):
        if self.i<self.k:
            self.i +=1
            return random()
        else:
            raise StopIteration

x = RandomIterator(5)
for i in x:
    print(i)

得到结果如下所示:

猜你喜欢

转载自blog.csdn.net/xiaoxifei/article/details/81605017