博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
菜鸟眼中的生成器
阅读量:7165 次
发布时间:2019-06-29

本文共 866 字,大约阅读时间需要 2 分钟。

'''生成器:方法1:将列表推导式的[]改成(),生成器不会一下子把所有内容生成出来,在我们需要的时候用next()去生成方法2:在函数里面加上yield。'''# --------------------()------------------------------b = (x for x in range(10))print(next(b)) #0print(next(b)) #1print(next(b)) #2print(next(b)) #3print(next(b)) #4print(next(b)) #5print(next(b)) #6print(next(b)) #7print(next(b)) #8print(next(b)) #9# --------------yeild用法-------------------------------'''yield作用:返回对象,暂停函数,等待下次next重新激活yield表达式只能在函数中使用yield表达式可以使函数成为一个生成器yield可以返回表达式结果,并且暂停函数执行。'''def func():    print(1111)    yield 1 #yield一个对象    print(123)    print(321)    yield 2    print(12345)a = func()# print(a) #生成器对象
print(next(a)) #第一次执行遇到yield 1函数暂停将上面运行结果返回,还想要后面的继续执行再写一个print(next(a))print(next(a)) #第二次执行遇到yield 2函数暂停。'''Python使用生成器对延迟操作提供了支持,所谓延迟操作,是指在需要的时候才产生结果,而不是立刻产生结果,从而节省大量的空间,这是生成器的主要好处。'''

 

转载于:https://www.cnblogs.com/jb9527/p/10658732.html

你可能感兴趣的文章