码迷,mamicode.com
首页 > 其他好文 > 详细

关于yield语法糖的运行时说明

时间:2020-01-13 16:09:34      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:ipython   UNC   代码   last   ace   pytho   运行时   NPU   strong   

yield只能定义在function中,用来返回一个generator。当知道函数将返回一组只需读取一次的巨大值时,它会很方便。来看下以下例子

def gen2():
    print('begin....')
    for x in range(2):
        print('aa')
        yield x
        print('bb')
        yield x+1
        print('cc')
    print('end....')

factory = gen2()

依次运行N次以下代码时,将输出什么内容?

next(factory)

第一次

begin..
aa
0

第二次

bb
1

第三次

cc
aa
1

第四次

bb
2

第五次之后
``
cc
end...
Traceback (most recent call last):

File "", line 1, in
next(factory)

StopIteration
``

总结:
当运行含有yield的generator时,每次迭代会在遇到一个yield时停止。

关于yield语法糖的运行时说明

标签:ipython   UNC   代码   last   ace   pytho   运行时   NPU   strong   

原文地址:https://www.cnblogs.com/yeni/p/12187418.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!