生成器的概念

#生成器:生成器的出现是来避免快速生成一批数据,瞬即占用内存过大的问题
#使用方式是当你需要数据的时候,去找生成器去拿,才会再内存中开辟空间
#列表生成式是快速的生成一个列表,内存中开辟相应的空间
#格式1:将列表中的[]换成()
g=(x for x in range(100))
#获取数据next()
print(next(g))
#如果生成器没有数据了,再去拿的话会报错
li=[1,3,5,6,9]
for x in g:
    if x==10:
        break
    print(x)
#格式2:获取指定个数的数据
#  函数与yield结合
def get_value(num):
    for i in range(num):
        yield i  #把数据返回去
        #print(i) #下一次再获取的时候执行print,可以不要
gl=get_value(10)
#获取数据,可以一个个的拿,也可以forin 拿
print("刚刚获得的value:",next(gl))
print("刚刚获得的value:",next(gl))
for i in gl:
    print(i)

猜你喜欢

转载自blog.csdn.net/qq_41879417/article/details/80045668