python迭代器

迭代器

  • 迭代器是一个可以记住遍历的位置的对象。
  • 迭代器对象从第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
  • 迭代器有两个基本的方法:iter() 和 next()
  • 字符串,列表或元组对象都可用于创建迭代器:

创建一个迭代器:

  • 把一个类作为一个迭代器使用需要在类中实现两个方法 __iter__() 与 __next__() 。
  • __iter__() 方法返回一个特殊的迭代器对象, 这个迭代器对象实现了 __next__() 方法并通过 StopIteration 异常标识迭代的完成。
  • __next__() 方法会返回迭代器下一个元素
class MyNumbers:
    def __iter__(self):
        self.a = 1
        return self

    def __next__(self):
        x = self.a
        self.a += 1
        return x


myclass = MyNumbers()

# 原始方式遍历迭代器
myiter = iter(myclass)  # 生成迭代器

print(next(myiter)) # 获取迭代器元素
print(next(myiter))
print(next(myiter))
print(next(myiter))
print(next(myiter))

print("#############################")

# for循环方式遍历迭代器
for i in myclass:
    if i > 10:
        break
    print(i)

执行结果:

1
2
3
4
5
#############################
1
2
3
4
5
6
7
8
9
10

 

posted @ 2021-05-24 16:33  foreast  阅读(57)  评论(0编辑  收藏  举报