33-python-总结(迭代器和生成器)
# 迭代器 和 生成器
# 迭代器:
# 可迭代协议 -- 含有 iter 方法的都是可迭代的
# 迭代器协议 -- 含有 next 和 iter 的 都是迭代器
# 特点:
# 节省内存
# 方便逐个取值,一个迭代器只能取一次
# 生成器: (所有的生成器都是迭代器)
# 生成器函数:
# 含有 yield 关键字的函数都是生成器函数
# 生成器函数特点:
# 调用后函数内代码不执行,返回生成器
# 每从生成器中取一个值就会执行一段代码到 yield 停止
# 如何从生成器中取值:
# for :如果没有 break 就会取完
# next:每次只取一个
# send:不能在第一个 yield 使用,取下一个值的时候给上个位置传一个新的值
# 生成器表达式:
# ( 条件成立返回的值 for i in 可迭代的 if 条件 )

浙公网安备 33010602011771号