python的 a,b=b,a+b 和 a=b b=a+b 的區別(經典)

n,a,b=0,0,1
while n<6:
print(b)
a,b=b,a+b
n=n+1

n,a,b=0,0,1
while n<6:
print(b)
a=b
b=a+b
n=n+1
輸出結果不一樣

解答:

賦值運算,先計算賦值號(也就是=號左邊的,再賦值)
那麼

a, b = b, a+b
# 這種賦值,先計算等值 右邊 就是 b=1 a+b=1
# 再賦值給a和b,那麼 a=1, b=1
#然後就是依次這樣

而,下面的

a = b
# 此時 b=1, 那麼a=1
b = a+b
# 那麼 b=2

明白了吧。
其實很簡單, a, b = b, a+b 這個表達式的意思就是說,先計算=號的右邊b的值,a+b的值,
算好了,然後再分別賦值給a 和b就可以了。

謝謝百度的一些啓發
如果有什麼不明白的地方,可以留言或者發消息,我很樂意爲你們解答的!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章