版权声明:本文为博主原创文章,未经博主允许不得转载。 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)
得到结果如下所示: