生成器
-
生成器函数
在一个函数体内使用
yield
表达式会使这个函数变成一个生成器,该函数为生成器函数。当一个生成器函数被调用的时候,它返回一个迭代器,称为生成器。 -
结论:
- 生成器用于生成提供迭代数据。
- 所有生成器都是迭代器。
- 迭代器用于遍历集合。
- 生成器能做到迭代器能做的所有事,而且因为自动创建
iter()
和next()
方法,生成器显得特别简洁。 - 生成器是高效的,使用生成器表达式取代列表推导式可以节省内存
# 生成器使用
square = ( x**2 for x in range(10) )
for i in square:
print(i)