91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

關于python多重賦值的小問題

發布時間:2020-10-10 12:38:18 來源:腳本之家 閱讀:169 作者:JEWELCCL 欄目:開發技術

前言

今天無意中發現在python中的一個多重賦值的小問題,自己一開始是比較簡單化的理解了這個多重賦值操作的概念,所以導致在一道實現斐波那契數列的代碼中,發現了自己的問題,順便記錄下吧,當作是學習總結。

首先是python的多重賦值操作,先用一個直觀的代碼來看:

a,b = 0,1 

上述就是一個最簡單的多重賦值操作,這個賦值操作的作用是將賦值操作 = 右側的對象逐一賦給左側的對象,所以這個操作結果是a對象的值為0,b對象的值為1,這點很好理解。

然鵝,如果是下列的代碼呢?

# Fibonacci series:
a, b = 0, 1
while b < 10:
 print b
 a, b = b, a + b 

顯然,運行結果是正確的:

1
1
2
3
5
8

那么如果將代碼改成這樣呢?

#Fibonacci series:
a = 0
b = 1
while b < 10:
 print b
 a = b
 b = a + b

運行結果是:

1
2
4
8

顯然不正確。。。。

其實問題在于多重賦值操作是一個等號右邊表達式會在賦值操作進行之前被完全解析的過程。也就是說,對于

a, b = 0, 1

變量a和b是同時獲得新的值0和1。而對于

a, b = b, a + b

說明等號右邊的表達式在賦值之前首先被完全解析。右側表達式是從左到右計算的。在賦值完成之前,a+b的操作是已經完成了表達式的計算結果了的,所以,如果將 a,b = b, a+b 等同于 a = b,b = a+b 是完全不正確的。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

四子王旗| 鄂托克旗| 梅河口市| 宜宾市| 溧水县| 阜新市| 山东| 南充市| 诏安县| 伊宁县| 新丰县| 奇台县| 东平县| 岫岩| 砀山县| 中江县| 伽师县| 介休市| 湖口县| 昭平县| 皋兰县| 太湖县| 邳州市| 安陆市| 张家港市| 辽中县| 正定县| 时尚| 皮山县| 博爱县| 卢湾区| 商洛市| 肇庆市| 二连浩特市| 常州市| 徐水县| 泰和县| 当雄县| 南安市| 信宜市| 华亭县|