热线电话:13121318867

登录
2019-07-08 阅读量: 836
生成器函数

生成器函数是一种语句中包含yield关键词的特殊的函数,它本身是一个迭代器,外部需要访问该迭代器数据的代码通过调用next函数(或迭代器的__next__方法)或send方法,触发函数执行计算并通过yield返回一个计算结果数据,返回数据后该函数立即停止执行,函数状态会保存在本地变量中,直到外部下次调用再激活,从上次停止执行部分开始执行。

1、 关于生成器函数与调用方的执行过程解析

生成器函数定义示意代码(非可执行代码)如下:

def fun():

初始化

循环:

计算得到k

nRet=yield k

其他循环代码

上面代码示意表示:生成器函数运行时计算得到结果k通过yield返回数据k给调用方,返回k给调用方之后,生成器函数停止执行,yield的调用执行结果并没有返回给生成器函数, nRet的赋值也并没有执行,等待下次调用后,再返回yield本身的执行结果,并继续后续循环代码,直到再次执行yield。

200.0000
0
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子