2013-04-14 31 views
0
def fibonacci(num): 
    a=0 
    b=1 
    for i in range(num): 
     a, b=b, a+b 
    print a 

循環內部的線如何工作? 總得& B「的價值觀改變,似乎可以理解如何..這個交換實現如何在Python中工作?

編輯: 出於某種原因,我糊塗了,以爲B = B的中間EXP是新的東西...... 沒有閱讀以及.. 這真的是(A,b)=(b,A + b),它是在Python交換的基本形式(:

+1

[閱讀該第一點](http://docs.python.org/2/tutorial/introduction.html#first-steps-towards-programming) – soon

+0

'一個,b = b,a是python中的一個直接交換,同樣你可以通過'a,b = 2,1'將2賦值給a,並將1賦值給b –

回答

5

b, a+b創建

該元組進行解包後面的元組分成ab

2

該行a, b = b, a+b相當於(a, b) = (b, a+b),這是一個元組賦值。

2

在考慮中的線可被更清楚地寫入(通過在右側和序列拆包左側元組封裝)爲:

(a, b) = (b, a + b) 

作爲分配到a和b是在並行地執行,這是完全一樣:

new_a = b 
new_b = a + b 
a  = new_a 
b  = new_b