Python基础-gen iter dom close decor(14)
发布时间
阅读量:
阅读量
生成器(generator)
在Python中将一边循环一边计算的机制命名为生成器
- 通过调用next()函数获取生成器的下一个返回值
- 生成器本质上是一个对象
- 一旦迭代至生成器的最后一个对象时,继续尝试迭代将触发StopIteration异常
- 对于循环结构而言,生成器确实是一个适用的选择,因为它们都是可迭代的对象。
- 每个生成器只能被调用一次。
特点:
- 节省内存空间
- 在迭代到下一次的调用时继承自上一次的状态
生成器的创建:
- lambda表达式创建生成器
a=(x for x in range(2))
%创建生成器
In [1]: a=(x for x in range(2))
In [2]: a
%生成器是一个对象
Out[2]: <generator object <genexpr> at 0x00000194EB894D58>
In [3]: next(a)
Out[3]: 0
%next()进行迭代
In [4]: next(a)
Out[4]: 1
In [5]: next(a)
-----------------------
全部评论 (0)
还没有任何评论哟~
