码迷,mamicode.com
首页 > 编程语言 > 详细

python迭代器

时间:2019-02-27 22:02:21      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:类型   python   迭代器   序列   实现   生成   一个   要求   pre   

#说明: 迭代器使用的是python 中的迭代器协议:即数据类型内部包含有__iter__()方法和__next()__方法。 其中:实现上面两个方法的数据类型是一个迭代器, 只包含有__iter()__方法的数据类型是一个可迭代对象 可迭代对象和迭代器的区别就在于是否实现了__next()__方法 因此,可以说可迭代对象不一定是迭代器,但是迭代器一定是可迭代的对象。 真正实现的迭代方法是__next__()方法,要自己创建迭代器对象,必须通过此方法实现数据的迭代。 #示例: class one: def __iter__():pass def __next__():pass class two: def __iter__():pass one类是一个跌代器,two类是一个可迭代对象 isinstance(one(),iterator) True isinstance(one(),iterable) True isinstance(two(),iterator) False isinstance(two(),iterable) True #使用: 使用方式与生成器类似 使用迭代器不要求事先准备好整个迭代过程中的所有元素。迭代器仅仅在迭代到某个元素时才计算该元素,而在这之前或之后元素可以不存在或者被销毁。因此迭代器适合遍历一些数量巨大甚至无限的序列

python迭代器

标签:类型   python   迭代器   序列   实现   生成   一个   要求   pre   

原文地址:https://blog.51cto.com/11089980/2355835

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!