generator 和yeild

参考 https://www.cnblogs.com/xybaby/p/6322376.html


使用yield那么该函数就变成了一个生成器方法。

def zheng(n,m):
    if n<m:
        # print(n)
        yield n
    else:
        return
    #zheng(n+1,m) #这样使用无效,因为zheng()是返回一个generator对象 且没调用next的话是不执行的所以程序只执行一遍。
    yield from zheng(n+1,m) #使用yield from 解决该问题。


z = zheng(1,10)#创建了一个生成器
# next(z)
for i in z:
    print(i)



# g = (x for x in range(10)) #生成器生成式

  

 

posted @ 2019-08-17 15:49  夷陵老祖魏无羡  阅读(160)  评论(0编辑  收藏  举报