调用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