python中a+=a與a=a+a的區別


python中使用a = a + a創建了一個新的變量a,覆蓋了之前的變量a。而使用a += a 則是直接對原變量 a 進行操作。下面通過幾個例子進行說明:

1.
a = [1,2,3]
print(id(a))#打印內存地址
a+=a
print(a)
print(id(a))
輸出結果:
1238454553032
[1, 2, 3, 1, 2, 3]
1238454553032

 

2.
a = [1,2,3]
print(id(a))
a = a + a
print(a)
print(id(a))
輸出結果:
1238454620232
[1, 2, 3, 1, 2, 3]
1238454553032

  

以上兩個只看結果沒啥區別,但看內存地址還是可以看出區別來的,接下來繼續看:

3.
a = [1,2,3]
print(id(a))
def add(arr):
    arr += arr
    print(id(a))

add(a)
print(a)
print(id(a))

輸出結果:
1238454620232
1238454620232
[1, 2, 3, 1, 2, 3]
1238454620232

  

3.
a = [1,2,3]
print(id(a))
def add(arr):
    arr = arr + arr
    print(id(arr))

add(a)
print(a)
print(id(a))

輸出結果:
1238454553032
1238454620232
[1, 2, 3]
1238454553032

  兩者區別: =的使用會直接創建一個新的變量,而+=則是直接對原變量進行操作。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM