python中如何创建一个迭代器
迭代器的类必须包含两个方法; __iter__() and next().
下面是一个自定义的奇数迭代器
class OddIterator(object): def __init__(self): self.value = -1 # Required for the for-in syntax def __iter__(self): return self # Returns the next value of the iterator def next(self): self.value += 2 return self.value
测试迭代器的next方法
iter = OddIterator() assert iter.next() == 1 assert iter.next() == 3 assert iter.next() == 5 assert iter.next() == 7
测试for in 语法是否正确
iter = OddIterator() # Prints 1, 3, 5, 7 and 9 for i in iter: print i if i >= 9: break