生成器:就是未循环完的列表,这是为了节约电脑内存,设立的一种一边循环一边计算的机制。
创建的方法也是很简单,其中一种就是把列表生成式的[]改成()就可以了
而调用的时候也一般不用麻烦的next()的方法,而是用for循环来遍历
比如:
g= (x*x for x in range(10))
for n in g:
print(n)
这样就能遍历出所有的生成器中的元素
另一种生成器的方法:如果函数中包含有yield关键字,则这是一个生成器
def odd():
print('step 1')
yield 1
print('step 2')
yield(3)
print('step 3')
yield(5)