yield关键字的使用
yield —— 生成器
生成器是一个不断产生值的函数
包含yield语句的函数是一个生成器
生成器每一次产生一个值(yield语句),函数被冻结,被唤醒后再产生一个值
生成器写法
def gen(n):
    for i in range(n):
        yield i**2
for  i  in gen(4):
    print(i,' ',end='')

yield 关键字的使用_生成器

 

 

普通写法
def square(n):
    ls = [i**2 for i in range(n)]
    return ls
for  i  in square(4):
    print(i,' ',end='')

yield 关键字的使用_存储空间_02

 

 

生成器相比一次列出所有内容的优势
更节省存储空间
响应更加迅速
使用更灵活