Python的iterator和generator相关概念简述
前言
前段时间重新捡起了python,很多之前接触过的概念已经很陌生了,特别是一些具有明显Python风格的内容一度让我晕头转向,本文就python之中的迭代器(iterator),生成器(generator)和其他一些相关的概念做了一番整理。
迭代器(iterator)
首先,迭代器是一个用来访问 可遍历的对象 的对象。可遍历的对象有很多,最普遍的就是list(列表)。迭代器的原生形式就是for循环遍历列表。
不使用for循环而使用迭代器的原因是t优化代码,提升效率,节约资源。迭代器对象从被遍历者的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只往前不后退。
注意,迭代器是由可迭代对象提供(或产生)的
#可遍历的对象
iterable = [1,3,5,7,9]
# 生成对应的迭代器
iterator = iter(iterable)
# 访问可遍历对象的下一个元素
# 如果访问到尽头会抛出异常,否则可以一直访问下去
while True: