这几天学了点python,有一道题是让练习用python计算fibonacci数列,发现个很有意思的事: 当用传统的写法 return fib(n-1) + fib(n-2) 来算fib(40)的时候,算得超级慢,分钟级别的 而用generator的时候 def fib(): a = 1 b = 2 while 1: a, b = b, (a+b) yield a counter = 0 for n in fib(): if counter == 40: print n break counter +=1 瞬间就计算完了