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之旅迭代器和生成器的主要内容,如果未能解决你的问题,请参考以下文章