迭代器 生成器

生成器是一个特殊的迭代器

# #查看目标是否可迭代

# from collections import Iterable

#

# print(isinstance([],Iterable))

如果想要一个对象成为一个可以迭代的对象,那么必须实现__iter__方法

迭代器的优点:迭代器能实现for,能取里边的数据,但它里边存的不是生成这个序列的结果,而是生成这个序列的方式,占用空间极小,这就是迭代器的优点

列表、元组、字典、集合、字符串都是可迭代的

一个类中有__iter__就可以迭代,既有__iter__、又有__next__就可以称为迭代器

1、判断xxx_obj是否是可以迭代

看对象的类中是否有__iter__方法

2、在第一步成立的前提下,调用iter函数,得到xxx_obj的返回值

调用iter函数会自动调用__iter__方法

3、__iter__方法的返回值就是一个迭代器

for循环会自动调用迭代器的__next__方法,调一次取一个赋给temp


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容