迭代器:
迭代是python最强大的功能之一,是访问集合元素的一种方式。
迭代器对象从集合的第一个元素开始访问,知道所有元素被访问结束。迭代器只能往前,不会后退。
迭代器有2个基本方法:iter()和next()
字符串,列表或元组对象都可用于创建迭代器
迭代器对象可以使用for语句进行遍历:
结果为
若你在遍历之前已经执行过一次next,那么遍历后的结果就只有2,3,4,5,6,7,8
创建一个迭代器:
把一个类作为一个迭代器使用需要在类中实现2个方法__iter__()与__next__()
生成器:
在python中,使用了yield的函数被称为生成器。
生成器是一个返回迭代器的函数,每次遇到yield的时候,函数会暂停并保持当前所有的运行,返回yield的值,
并在下一次执行next()方法时从当前位置继续运行。
调用一个生成器函数,返回的是一个迭代对象。
执行以上程序,输出结果为:
注: a,b=b,a+b 等同于 a=b b=a+b