学习笔记(4):零基础掌握 Python 入门到实战-深入理解迭代器和生成器
立即学习:https://edu.****.net/course/play/26676/399743?utm_source=blogtoedu
1、迭代器
类的特殊方法定义:前后有上下划线
判断一个对象是否为可迭代的:hasattr(xxx, '__iter__')
迭代器最重要的两个方法:__iter__, (判断是否可迭代),__next__ (可依次向后获取元素)
迭代器能够很好的优化内存,使用多少调用到内存多少,不需要一次性调入很多到内存。
使用迭代器库 itertools
2、生成器
生成器函数返回值用 yield 来返回结果(普通函数返回值用return来返回的)。yield返回会在返回的地方挂起,等待下一次调用,从挂起的地方继续执行;而return后面的语句不会执行。
生成器是可迭代的,也是迭代器对象。
生成器的另一种解析方式与列表解析类似,将列表的 [ ],换成()