您的位置:首页 > 编程语言 > Python开发

【Python】在Python中自定义迭代器Iterator

2013-09-21 20:22 399 查看
Python中迭代器本质上是每次调用.next()都返回一个元素或抛出StopIteration的容器对象。

在Python中其实没有“迭代器”这个类,具有以下2个特性的类都可以被称为“迭代器”类:

1、有next方法,返回容器的下一个元素或抛出StopIteration异常;

2、有__iter__方法,返回迭代器本身;

自定义迭代器的例子(来自《Expert Python Programming(Python高级编程)》)

python2.x版本:

class MyIterator(object):
def __init__(self, step):
self.step = step
def next(self):
"""Returns the next element."""
if self.step == 0:
raise StopIterator
self.step -= 1
return self.step
def __iter__(self):
"""Returns the iterator itself."""
return self
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: