函数中包含yield字段
生成器是一个函数,这个函数每次只产生一个值,所以通常需要配合for in 循环来使用,
def gen(n): for i in range(n): i = i*i yield i
def foo(n):
for i in gen(n):
print(i,' ',end='')
foo(5)
冻结 / 唤醒,循环调用生成器这个函数,每次在上一次的基础上继续进行运算生成新的值
第几次调用它,它就第几次生成新值
动态生成列表内的值,可以节省空间,更加灵活,更快的响应速度