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