Python 可迭代、迭代器、生成器
可迭代、迭代器
- 可迭代(iterable):直接作用于 for 循环的变量
- 迭代器(iterator):不但可以作用于 for 循环,还可以被 next 调用
- list 是典型的可迭代对象,但不是迭代器

isinstance案例
- 判断某个变量是否是一个实例
- 可以利用 isinstance 判断是否是一个迭代器

iter函数
- 可将可迭代转换成迭代器
- 也可以将迭代器转换成可迭代

生成器
- generator :一边循环一边计算下一个元素的机制/算法
- 需要满足三个条件:
- 每次调用都能生产出 for 循环需要的下一个元素
- 如果达到最后一个,抛出 StopIteration 异常
- 可以被 next 函数调用
- 如何生成一个生成器:
- 直接使用
- 如果函数中包含 yield ,则这个函数就叫生成器
- next 调用函数,遇到 yield 返回




浙公网安备 33010602011771号