溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python中a += b和a = a + b的結(jié)果一樣嗎

發(fā)布時(shí)間:2021-11-26 09:23:11 來(lái)源:億速云 閱讀:240 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要介紹“Python中a += b和a = a + b的結(jié)果一樣嗎”,在日常操作中,相信很多人在Python中a += b和a = a + b的結(jié)果一樣嗎問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”P(pán)ython中a += b和a = a + b的結(jié)果一樣嗎”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

可變類型和不可變類型

想要了解a += b和a = a + b結(jié)果是不是一樣。要先知道什么是可變變量和不可變變量。
Python中
  • 不可變類型:數(shù)字,字符串,元組
  • 可變類型:列表,字典

不可變類型運(yùn)算舉例

不可變+=
Python中a += b和a = a + b的結(jié)果一樣嗎
不可變=+
Python中a += b和a = a + b的結(jié)果一樣嗎
不可變類型在進(jìn)行+=和=+之后結(jié)果是一樣的。

可變類型運(yùn)算舉例

可變+=
Python中a += b和a = a + b的結(jié)果一樣嗎
可變類型+=情況
可變=+
Python中a += b和a = a + b的結(jié)果一樣嗎
可變類型a=a+b情況
通過(guò)上圖對(duì)比我們發(fā)現(xiàn)可變類型的變量在進(jìn)行a += b和a = a + b時(shí)結(jié)果是不一樣的。在進(jìn)行+=操作時(shí),a1和a2值同時(shí)改變,但是在進(jìn)行先加后賦值時(shí)a1和a2不能同時(shí)改變。

大家一定要記住上面的結(jié)論

原理__add__和 __iadd__ 的區(qū)別

  • __add__ 方法接收兩個(gè)參數(shù),返回它們的和,兩個(gè)參數(shù)的值均不變。
  • __iadd__ 方法接收兩個(gè)參數(shù),第一個(gè)參數(shù)的值改變
可變類型使用加號(hào)操作(即a=a+b),調(diào)用__add__會(huì)返回一個(gè)新的對(duì)象,原來(lái)的對(duì)象不變。
Python中a += b和a = a + b的結(jié)果一樣嗎
示意圖如下:
Python中a += b和a = a + b的結(jié)果一樣嗎
a1 = a1 + b 后a1會(huì)指向新的結(jié)果,但是a2指向不變
Python中a += b和a = a + b的結(jié)果一樣嗎
可變類型使用+=操作(即a+=b),調(diào)用__iadd__方法,第一個(gè)參數(shù)的值改變,即a1指向的本身內(nèi)容發(fā)生改變,指向位置不發(fā)生改變。
Python中a += b和a = a + b的結(jié)果一樣嗎
示意圖如下:
Python中a += b和a = a + b的結(jié)果一樣嗎
a1 += b后a1指向的內(nèi)容發(fā)生改變,指向的位置不發(fā)生改變,所以a2的內(nèi)容也會(huì)跟著a1一起改變
Python中a += b和a = a + b的結(jié)果一樣嗎

到此,關(guān)于“Python中a += b和a = a + b的結(jié)果一樣嗎”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI