迭代器 生成器
迭代器:
可迭代对象:实现了__iter()__ 方法的对象。
迭代器协议: 必须满足一个next()方法,执行该方法要么返回迭代中的下一项,要么抛出StopIteration 异常。终止迭代。
迭代器: 是一个满足了迭代协议的容器对象,
迭代器有两个方法 -next() 返回容器中的下一项
-iter() 返回迭代器本身。参数是可迭代对象。
迭代器的优势以及使用场景:
-- 构建迭代器的时候,不是将所有的元素一次性加载在内存中,而是等待调用next() 方法时返回下一个元素,不需要考虑内存的问题。
-- 用于数据非常多的情况。
生成器: 生成器是一种特殊的迭代器。
他有两种表达方式:1 -- 生成器表达式 (i for i in range(100)) 和列表表达式不同,最外面时一个圆括号。返回值是生成器对象。
2 -- 生成器函数 函数用关键字 yield 返回值,而不是 return 返回。
yield 语句一次返回一个结果,中断函数,并在每个结果中间挂起函数的状态,以便下次从他离开的地方继续执行。

浙公网安备 33010602011771号