python-自定义-迭代器

迭代器是访问集合元素的一种方式。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。

迭代器提供了一个统一的访问集合的接口。只要是实现了iter()或getitem()方法的对象,就可以使用迭代器进行访问。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class CountIter:
def __init__(self, n):
self.n = n
def __iter__(self):
self.x = -1
return self
def next(self): # For Python 2.x
self.x += 1
if self.x < self.n:
return self.x
else:
raise StopIteration
for i in CountIter(5):
print i