- 可迭代对象 --> 迭代器 --> 生成器;
- 可迭代对象:
实现了__iter__()
方法的对象,该方法返回迭代对象(实例本身)。
def __iter__(self):
return self # 实例本身就是迭代对象,故返回自己
可迭代对象能够直接作用于for循环进行遍历,如列表、字典、字符串等。
- 迭代器:
实现了__next__()
或next()
方法的对象,表示一个惰性计算的序列。
可迭代对象 ---iter()
---> 迭代器 - 生成器:
特殊的迭代器,比迭代器多了一些特殊的方法,如 send();
网友评论