Python迭代器&生成器

10/19/2017

迭代器

迭代器学习的关键点在于区分iteratoriterableiterator代表一个对象是一个迭代器(可迭代对象), 而iterable代表该对象可以被迭代

生成器

生成器也可以被迭代, 生成器不需要实现__next__&__iter__方法, 与迭代器不同的是生成器使用yield返回数据 下次next对象会从yield后面的代码开始执行, 生成器的优点是惰性计算,代码在需要执行的时候才会被被执行