迭代器对象要求支持迭代器协议,所谓支持迭代器协议就是对象包含__iter__()和next()方法。其中__iter__()方法返回迭代器对象自己;next()方法返回下一个前进到下一个结果,在结尾时引发StopIteration异常。
classReverse(object):
"""Iterator for looping over a sequence backwards."""
def
__init__(
self
, data):
self
.data
=
data
self
.index
=
len
(data)
def
__iter__(
self
):
return
self
def
next
(
self
):
if
self
.index
=
=
0
:
raise
StopIteration
self
.index
=
self
.index
-
1
return
self
.data[
self
.index]