Python之旅迭代器和生成器

Posted dreamer-lin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python之旅迭代器和生成器相关的知识,希望对你有一定的参考价值。

迭代器协议

迭代定义:

迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。

 

1迭代器协议:对象必须提供一个__next__() 方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代(只能往前,不能退后)

2可迭代对象(迭代器):实现了迭代器协议的对象(如何实现迭代器协议,在对象内部定义__iter__()方法

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

 

迭代器作用:可以节省内存

 

 

 

迭代器相关的方法:iter() 和 next()

python内置函数 next() 本质就是在调用__next__()

>>> list=[1,2,3,4]
>>> it = iter(list)    # 创建迭代器对象
>>> print (next(it))   # 输出迭代器的下一个元素
1
>>> print (next(it))
2
>>>

  

 

以上是关于Python之旅迭代器和生成器的主要内容,如果未能解决你的问题,请参考以下文章

Python之旅的第3²+1天(文件操作迭代器生成器)

Python学习之旅 —— 基础篇字符串格式化递归生成器&迭代器模块

python之旅:迭代器

Python之旅.第三章.函数3.30

Python学习之旅

Python之旅的第3²天(内置函数文件基本打开关闭)