1.python中變量在記憶體中與java的差別
在python中當變量的内容發生改變時,python會在記憶體中重新開辟一個區域存儲這個内容;而在java中變量指向記憶體中的一片區域,當變量内容發生改變時,隻是目前值覆寫掉其在記憶體中原來的值,并不會重新開辟出另一片記憶體來存儲目前值.以下是python代碼來證明以上所述:
<b>[python]</b> view plain copy
a=123
print(id(a))
a=456
運作結果如下:

id是變量在記憶體中的位址,通過列印id,可以發現,當變量的值發生改變時,其在記憶體中的位址也相應改變,這說明python為變量a重新開辟出了一塊記憶體存儲改變後的值。
在python中兩個不同的變量,當他們的值相同時,保守的說,兩個變量所指向的位址空間很有可能是一樣的;而在java中兩個不同的變量,即使是内容相同,java也會開辟出兩個不同的記憶體區域來存儲這兩個變量.以下是python代碼:
a=123;b=123
print(id(a));print(id(b))
以下是運作結果:
可以發現變量a和變量b是完全兩個不同的變量,但是變量a和變量b的内容是相同的,列印id發現他們在記憶體中存儲在同一片區域,進而證明了以上所述。