首页IT科技python生成器的应用场景(python生成器的原理探究)

python生成器的应用场景(python生成器的原理探究)

时间2025-05-02 09:53:59分类IT科技浏览3604
导读:本文教程操作环境: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版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
苹果怎样将搜狗输入法设置为默认(iPhone手机怎么把搜狗输入法设为默认输入法) 香港服务器 推荐(Megalayer香港服务器E3-1230方案速度和性能评测(香港服务器cn2))