为了账号安全,请及时绑定邮箱和手机立即绑定

调用yield生成器问题

    # 生成器方法耗时
    t3 = time.time()
    f=fab2(maxnum)
    while True:
        try:
            x = next(f)
        except StopIteration as e:
            break
    t4 = time.time()
    print('fab2 total tims %.2f ' % (1000*(t4-t3)) + ' ms')

这样调用才正确,结果是yield更慢,因为要等待next()的调用

我运行的几次结果:

fab1 total tims 116.01  ms
fab2 total tims 128.01  ms


正在回答

1 回答

yield用法可参见廖雪峰的教程https://www.liaoxuefeng.com/wiki/1016959663602400/1017318207388128

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

调用yield生成器问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信