python学习 - yield

时间:2015-07-27 20:49:47   收藏:0   阅读:205
def myYield2():
    for i in range(3):
        yield 2222 i am in myYield2, i = , i


def myYield():
    for i in range(10):
        yield 0000 i am in myYield, i = , i
        for j in myYield2():
            yield 1111 i am in for myYield2, j = , j

f = myYield()
print KKK, f.next()
print KKK, f.next()
print KKK, f.next()
print KKK, f.next()
print KKK, f.next()
print KKK, f.next()
print KKK, f.next()

yield有一点像return, 返回的结果如下:

KKK (0000 i am in myYield, i = , 0)
KKK (1111 i am in for myYield2, j = , (2222 i am in myYield2, i = , 0))
KKK (1111 i am in for myYield2, j = , (2222 i am in myYield2, i = , 1))
KKK (1111 i am in for myYield2, j = , (2222 i am in myYield2, i = , 2))
KKK (0000 i am in myYield, i = , 1)
KKK (1111 i am in for myYield2, j = , (2222 i am in myYield2, i = , 0))
KKK (1111 i am in for myYield2, j = , (2222 i am in myYield2, i = , 1))

原文:http://www.cnblogs.com/zhang-pengcheng/p/4680991.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!