調用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
2019-11-27
yield用法可參見廖雪峰的教程https://www.liaoxuefeng.com/wiki/1016959663602400/1017318207388128