Python之生成器、迭代器

2021-04-11 14:29

阅读:508

1、协议是一种约定,可迭代对象实现了迭代器协议,python的内部工具(如for循环,sum,min,max函数等)使用迭代器协议访问对象

(实际for语句的内部实现应该就是首先调用对象的__iter__方法,获取一个迭代器对象,接着不停的调用迭代器对象的__next__方法,循环遍历取值。)

2、可迭代对象:简单来讲可用for循环的对象,如list、dict、set等都是可迭代的对象。

3、迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个stoplteration报错,最后结束迭代。

4、可迭代对象可通过iter()函数转化成迭代器

1 a=iter(list("python"))#用iter(可迭代对象)创建迭代器
2 a
next(a)
‘p‘

 


评论


亲,登录后才可以留言!