python 标准库 类型: 迭代器 和 生成器
每日英语:
miracle n
[英] [ˈmɪrəkl] [美] [ ˈmɪrəkəl ]
奇迹,圣迹,神迹; 令人惊奇的人(或事)
推荐一个老电影:
每个人终将都会踏上自己的绿色旅程,善恶就在一念之间。愿世界美好,温情以待。
先看一张图:
1,迭代器协议:对象需要提供next()方法,它要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代。
2,可迭代对象:实现了迭代器协议对象。list、tuple、dict都是Iterable(可迭代对象),但不是Iterator(迭代器对象)。但可以使用内建函数iter(),把这些都变成Iterable(可迭代器对象)。
3,for item in Iterable 循环的本质就是先通过iter()函数获取可迭代对象Iterable的迭代器,然后对获取到的迭代器不断调用next()方法来获取下一个值并将其赋值给item,当遇到StopIteration的异常后循环结束