python迭代器中Yield方法怎么用?
python迭代器中Yield方法怎么用?
Yield用于返回数据,程序执行到yield后,返回结果,记住当前状态,暂停执行,下次调用时,根据上次的状态,返回下一个结果,记住新的状态,暂停执行。通俗的讲,就是调用一次,返回一个数据,再调用一次,返回下一个数据。没错,类似我们日常生活中的挤牙膏。
下面就为大家详细介绍关于Yield方法的使用。
定义生成器函数:
defgetData():
listData=(x**2forxinrange(6))
forxinlistData:
yieldx
获取生成器:
genData=getData()
输出生成器的数据:
print(genData.__next__())
继续输出生成器的数据:
print(next(genData))
遍历输出:
genData1=getData()
forxingenData1:
print(x)
代码执行结果如下:
0
1
0
1
4
9
16
25
总结:
迭代器只有在下次调用的时候才会去计算本次生成的值,而不是像列表那样预先生成所有的值。这种方式需要将所有的值预先保存在列表中,当列表很大的时候,非常消耗内存。
上述就是python中迭代器中Yield方法的全部用法啦,感兴趣的小伙伴可以多多尝试使用哦~更多Python学习教程请关注IT培训机构:开发教育。
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!