python生成器的应用场景(python生成器的原理探究)
导读:本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。...
本文教程操作环境:windows7系统 、Python 3.9.1 ,DELL G3电脑 。
1 、概念
生成器是通过使用yield语句而不是return语句定义一个普通函数来创建的 。如果函数包含至少一个yield语句 ,它就成为一个生成器函数 。yield和return都将从函数返回一些值 。函数在执行return时终止 ,而yield语句暂停函数 ,保存它的所有状态 ,然后在后续调用时继续执行 。
2 、组成
至少有一个yield语句 。
返回一个对象(迭代器) ,但不立即开始执行 。
记住连续调用之间的局部变量及其状态 。
实现迭代协议 。
3 、原理分析
下面是使用生成器的类似内容 。可以发现 ,调用__iter__()和__next__()都是由生成器自动处理的:
#Generatorfornextpoweroftwo. defNextPowTwo(max_ele): n=0 whilen<max_ele: yield2*n n+=1 raiseStopIteration obj=NextPowTwo(20) print(obj.next()) print(obj.next()) print(obj.next()) print(obj.next())在对于python学习的时候 ,容易把生成器与别的知识点混淆 ,其实想要判断有个最简单的方法 ,看看是否使用yield函数就知道了 。
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!