1- 可迭代对象 Iterable
凡是可以用for ... in ... 遍历的对象,称之为可迭代对象
2- 遍历、迭代
就是把可迭代对象中的元素一个个取出来的过程
3- 迭代器对象 iterator
判断一个对象的类型
isinstance(对象名,类型名)
判断一个对象是否是可迭代对象: isinstance(name,iterable)
可迭代对象有魔法方法__iter__(),可以通过iter()方法转换成迭代器对象iterator
iter(name)
迭代器对象有next()方法可以一次取出其中的元素
4- 迭代器协议
对象必须提供一个next方法,执行该方法要么返回下一项,要么触发stopIteration异常,来终止迭代
5- 自定义迭代器类
特性:两个方法__iter__() 和 __next__() 方法

6- 生成器
Python提供的一种简便的语法,一边循环一边计算的机制,叫做生成器
6.1 生成器表达式
列表推导器的中括号改为小括号就是生成器表达式


6.2 生成器函数
Python 中使用了yield关键字的函数,就是生成器函数
三者的关系:
可迭代对象:指实现了python迭代协议,可以通过for循环遍历的对象,如list,tuple,dict,str,迭代器,生成器
迭代器:可以记住自己遍历位置的对象,直观体现就是可以通过next()函数返回值,迭代器只能往前,不能往后
生成器:是特殊的迭代器。它是python的提供的一种简便方法写出迭代器的一种手段,其中有yield关键字。
可迭代对象》迭代器》生成器
331

被折叠的 条评论
为什么被折叠?



