迭代、可迭代对象、迭代器
迭代的概念:
迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“代”,而每一次迭代得到的结果会作为 下一次迭代的初始值。
可迭代对象:
可以被for循环遍历获取的对象为可迭代对象
具备__iter__方法的对象为可迭代对象
可迭代对象的判断:
isinstance :提供判断某个对象是否属于某个类,如果属于返回True,如果不属于返回False
for循环来判断
如果对象中具备__iter__方法的话,就是可迭代对象
自定义类生成实例对象演示:

具备__iter__方法的类:

iter()函数和__next__()函数:
iter()函数:可以获取可迭代对象的迭代器
调用iter函数会触发__iter__魔法方法
next()函数:对一个可迭代对象的迭代器调用该方法,可以返回该对象的下一条数据。
调用next函数会触发__next__魔法方法
__iter__方法返回迭代器:

迭代器的概念:
具备了__iter__方法
具备了__next__方法
代码实现:


迭代协议:
1.在任何可迭代对象传入到for循环或者其他循环工具中进行遍历时,迭代工具都是先通过iter()函数获得与可迭代对象对应的迭代器。
2.然后在对迭代器调用next函数,不断的依次获取元素 3.并在捕获到StopIteration异常时确定完成迭代,这就是完整的迭代过程,称之为"迭代协议"

浙公网安备 33010602011771号