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

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

时间2025-08-04 17:33:29分类IT科技浏览5339
导读:本文教程操作环境: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
mpms2(mpstat命令 – 显示变化的CPU数据) 创建maven项目在idea(学习笔记——在IDEA中创建Maven工程之HelloWord;Maven中常见的问题;Maven核心概念之POM、生命周期、插件和目标)