ITPub博客

首页 > 应用开发 > IT综合 > python生成器

python生成器

原创 IT综合 作者:5功啊 时间:2017-01-22 17:24:48 0 删除 编辑
生成器  只有在调用时才会生成相应的数据
只有一个__next__()方法。 next()

a= (i for in in range(1000))
a.__next__()

将函数中的print() 换成yield后,则变成了一个生成器:

def fib(max):
    n,a,b= 0,0,1
    while n < max:

        yield b
        a, b = b, a + b
        n = n + 1
    return "done"

调用方法一:
print(f.__next__())
print(f.__next__())
    

调用方法二:
while True:
    try:
        x = next(f)
        print('f:', x)
    except StopIteration as e:
        print('Generator return value:', e.value)
        break   

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26735168/viewspace-2132808/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: shutil模块
请登录后发表评论 登录
全部评论

注册时间:2016-07-07

  • 博文量
    38
  • 访问量
    32423