什么是生成器
生成器是一个返回迭代器的函数。
创建生成器
- 生成器函数
yield
- 生成器表达式
re=(i for i in ranger(x))
生成器函数
生成器的关键字是
yield
,只能在函数中使用,用来取代return
def generate():
for i in range(1,101):
yield i
gen = generate()
print(type(gen))
# 可以通过 next 来访问迭代器下一个元素
print(next(gen))
print(next(gen))
<class 'generator'>
1
2
生成器推导式
生成器推导式需要用到 Python中推导式语法糖
re = (i for i in range(5))
print(type(re))
print(next(re))
print(next(re))
<class 'generator'>
0
1
遍历
同样生成器是可以遍历的
re = (i for i in range(5))
for i in re:
print(i)
0
1
2
3
4