生成器:用来保存产生序列的算法,同时会保存游标的位置
优点:节约内存
生成器的创建方式:
1.g=(i for i in rang(10))
与列表生成式类似,只需要讲[]变为()即可,会返回一个generator对象
生成器元素的获取
1.通过next函数:next(g)
2.通过for循环
3.通过object对象的内置方法__next__()
4.通过send函数:不过第一个参数必须为None
1 = (j for j in range(10))
print(g1)
def gen():
for i in range(1, 100, 2):
yield i
g = gen()
print(next(g))
print(next(g))
print(g.__next__())
print(g.send(None))
<generator object <genexpr> at 0x7fa64e501ac0>
1
3
5
7