生成器、迭代器、可迭代对象、迭代协议的区别与联系
迭代器协议:必须实现__next__()方法,要么返回迭代的下一项,要么引起StopIteration异常 可迭代对象:实现了__iter__方法的对象,它能将所有可迭代对象转化成迭代器 迭代器:不仅实现了__iter()方法,还实现了__next__()方法的对象 生成器:使用了yield的函数就是生成器,它是一个返回迭代器对象的函数 可迭代对象:列表,字典,元素,字符串等,但可迭代对象并不一定是迭代器 from collections import Iterable, Iterator a = [1, 2, 3] isinstance(a, Iterable) # True isinsta
下载地址
用户评论