做印刷哪个网站好野花香视频在线观看社区
news/
2025/10/3 0:09:13/
文章来源:
做印刷哪个网站好,野花香视频在线观看社区,连云港网站建设案例,wordpress 文章标题外链Python可迭代对象#xff08;Iterable#xff09;
Python中经常使用for来对某个对象进行遍历#xff0c;此时被遍历的这个对象就是可迭代对象#xff0c;像常见的list,tuple都是。如果给一个准确的定义的话#xff0c;就是只要它定义了可以返回一个迭代器的__iter__方法… Python可迭代对象Iterable
Python中经常使用for来对某个对象进行遍历此时被遍历的这个对象就是可迭代对象像常见的list,tuple都是。如果给一个准确的定义的话就是只要它定义了可以返回一个迭代器的__iter__方法或者定义了可以支持下标索引的__getitem__方法那么它就是一个可迭代对象。
Python迭代器iterator
迭代器是通过next()来实现的每调用一次他就会返回下一个元素当没有下一个元素的时候返回一个StopIteration异常所以实际上定义了这个方法的都算是迭代器。可以用通过下面例子来体验一下迭代器
生成器Generators
生成器是构造迭代器的最简单有力的工具与普通函数不同的只有在返回一个值的时候使用yield来替代return然后yield会自动构建好next()和iter()
因为迭代器如此普遍python专门为for关键字做了迭代器的语法糖。在for循环中Python将自动调用工厂函数iter()获得迭代器自动调用next()获取元素还完成了检查StopIteration异常的工作。
定义迭代器
下面一个例子——斐波那契数列 # -*- coding: cp936 -*-
class Fabs(object):def __init__(self,max):self.max maxself.n, self.a, self.b 0, 0, 1 #特别指出第0项是0第1项是第一个1.整个数列从1开始def __iter__(self):return selfdef next(self):if self.n self.max:r self.bself.a, self.b self.b, self.a self.bself.n self.n 1return rraise StopIteration()print Fabs(5)
for key in Fabs(5):print key 结果 __main__.Fabs object at 0x01A63090
1
1
2
3
5
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/925433.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!