簡體   English   中英

python 內存管理如何處理變量?

[英]How does python memory management work with variables?

假設我有一個這樣的 var。

num1 = 1   

現在如果我這樣做

num3 = num1

如果我是正確的,這個 num3 是引用 num1 的值,就像 C 中的指針一樣,因為當我這樣做時

print(num1 is num3)

它返回 true,因為兩者都指向內存中的同一個對象或值

但是現在如果我像這樣改變我的價值

num3 = 3

然后我打印

print(num1,num3) 

它返回“1,3”

如果我更改了指向同一對象或值的第二個變量值,為什么 num1 值沒有更改

我用美人魚畫了幾張草圖。 希望它們對您有所幫助:

整數分配

整數分配

A is B等價於id(A) == id(B) ,指向同一內存(草圖中的矩形)的變量的id是相同的。

列表分配

正如評論中提到的,無論類型如何,分配都是相同的。

列表分配

你應該注意什么

被多個對象引用的對象改變是我們需要擔心的。

你應該注意什么

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM