欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于python多重賦值的小問(wèn)題

 更新時(shí)間:2019年04月17日 11:14:50   作者:JEWELCCL  
這篇文章主要給大家介紹了關(guān)于python多重賦值的小問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

前言

今天無(wú)意中發(fā)現(xiàn)在python中的一個(gè)多重賦值的小問(wèn)題,自己一開(kāi)始是比較簡(jiǎn)單化的理解了這個(gè)多重賦值操作的概念,所以導(dǎo)致在一道實(shí)現(xiàn)斐波那契數(shù)列的代碼中,發(fā)現(xiàn)了自己的問(wèn)題,順便記錄下吧,當(dāng)作是學(xué)習(xí)總結(jié)。

首先是python的多重賦值操作,先用一個(gè)直觀的代碼來(lái)看:

a,b = 0,1 

上述就是一個(gè)最簡(jiǎn)單的多重賦值操作,這個(gè)賦值操作的作用是將賦值操作 = 右側(cè)的對(duì)象逐一賦給左側(cè)的對(duì)象,所以這個(gè)操作結(jié)果是a對(duì)象的值為0,b對(duì)象的值為1,這點(diǎn)很好理解。

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

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

顯然,運(yùn)行結(jié)果是正確的:

1
1
2
3
5
8

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

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

運(yùn)行結(jié)果是:

1
2
4
8

顯然不正確。。。。

其實(shí)問(wèn)題在于多重賦值操作是一個(gè)等號(hào)右邊表達(dá)式會(huì)在賦值操作進(jìn)行之前被完全解析的過(guò)程。也就是說(shuō),對(duì)于

a, b = 0, 1

變量a和b是同時(shí)獲得新的值0和1。而對(duì)于

a, b = b, a + b

說(shuō)明等號(hào)右邊的表達(dá)式在賦值之前首先被完全解析。右側(cè)表達(dá)式是從左到右計(jì)算的。在賦值完成之前,a+b的操作是已經(jīng)完成了表達(dá)式的計(jì)算結(jié)果了的,所以,如果將 a,b = b, a+b 等同于 a = b,b = a+b 是完全不正確的。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • linux 下實(shí)現(xiàn)python多版本安裝實(shí)踐

    linux 下實(shí)現(xiàn)python多版本安裝實(shí)踐

    這篇文章主要介紹了linux 下實(shí)現(xiàn)python多版本安裝實(shí)踐,需要的朋友可以參考下
    2014-11-11
  • python動(dòng)態(tài)視頻下載器的實(shí)現(xiàn)方法

    python動(dòng)態(tài)視頻下載器的實(shí)現(xiàn)方法

    這里向大家分享一下python爬蟲(chóng)的一些應(yīng)用,主要是用爬蟲(chóng)配合簡(jiǎn)單的GUI界面實(shí)現(xiàn)視頻,音樂(lè)和小說(shuō)的下載器。今天就先介紹如何實(shí)現(xiàn)一個(gè)動(dòng)態(tài)視頻下載器,需要的朋友可以參考下
    2019-09-09
  • Python中的包和模塊實(shí)例

    Python中的包和模塊實(shí)例

    這篇文章主要介紹了Python中的包和模塊實(shí)例,本文給出了文件結(jié)構(gòu)、實(shí)現(xiàn)代碼及代碼解釋,需要的朋友可以參考下
    2014-11-11
  • Python 對(duì)輸入的數(shù)字進(jìn)行排序的方法

    Python 對(duì)輸入的數(shù)字進(jìn)行排序的方法

    今天小編就為大家分享一篇Python 對(duì)輸入的數(shù)字進(jìn)行排序的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • python os模塊和fnmatch模塊的使用介紹

    python os模塊和fnmatch模塊的使用介紹

    這篇文章主要介紹了python os模塊和fnmatch模塊的使用介紹,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-03-03
  • 淺談tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意點(diǎn)

    淺談tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意點(diǎn)

    這篇文章主要介紹了淺談tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意點(diǎn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Python中使用遍歷在列表中添加字典遇到的坑

    Python中使用遍歷在列表中添加字典遇到的坑

    今天小編就為大家分享一篇關(guān)于Python中使用遍歷在列表中添加字典遇到的坑,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-02-02
  • 選擇Python寫(xiě)網(wǎng)絡(luò)爬蟲(chóng)的優(yōu)勢(shì)和理由

    選擇Python寫(xiě)網(wǎng)絡(luò)爬蟲(chóng)的優(yōu)勢(shì)和理由

    在本篇文章里小編給各位整理了一篇關(guān)于選擇Python寫(xiě)網(wǎng)絡(luò)爬蟲(chóng)的優(yōu)勢(shì)和理由以及相關(guān)代碼實(shí)例,有興趣的朋友們閱讀下吧。
    2019-07-07
  • PyCharm中配置PySide2的圖文教程

    PyCharm中配置PySide2的圖文教程

    這篇文章主要介紹了PyCharm中配置PySide2的教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • python 畫(huà)圖 圖例自由定義方式

    python 畫(huà)圖 圖例自由定義方式

    這篇文章主要介紹了python 畫(huà)圖 圖例自由定義方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04

最新評(píng)論