Python(21)可變資料型別和不可變資料型別

2021-10-04 16:26:20 字數 1012 閱讀 4154

def test(num):

print(str(id(num))+"   >>>   2")

num = 100

print(str(id(num))+"   >>>   3")

num = 200

print(str(id(num))+"   >>>   1")

test(num)

print(str(id(num))+"   >>>   4")

1698577328   >>>   1

1698577328   >>>   2

1698574128   >>>   3

1698577328   >>>   4

4:最後因為外部的num只是把引用傳遞給test方法的num,所以形參num的改變並不會影響外部num,其指向的記憶體還是1698577328。

我們可以在上面的例子中看到我們在方法內改變了形參的值,其記憶體位址發生了改變。但是有的時候在方法內改變了值後,為什麼他的記憶體位址也會不會改變呢,我們來看乙個例子。

def test(num):

print(str(id(num)) + "   >>>   1")

print(str(id(num)) + "   >>>   1")  

num = [1,2,3]

print(str(id(num))+"   >>>   1")

test(num)

print(str(id(num))+"   >>>   4")

11923272   >>>   1

11923272   >>>   2

11923272   >>>   3

11923272   >>>   4

總體來說可以理解:

對於不可變資料型別,改變他就是重新開闢一塊記憶體空間。

對於可變資料型別,改變他就是對這塊記憶體空間內的內容的改變。

python 可變資料型別和不可變資料型別

不可變資料型別更改後位址發生變化,可變資料型別更改後位址不發生變化。看 說話 a 1 int b string string c 1,2 tuple print type a id a print type b id b print type c id c a 1b 1 c 3 4 print a,...

Python 可變資料型別和不可變資料型別

python的資料儲存在記憶體裡,該資料分為可變資料型別和不可變資料型別 不可變資料型別 字串,數字,元祖 可變資料型別 列表,字典,集合 nums 1 2,3 nums bk nums nums 0 0print nums nums print nums bk nums bk print form...

python 可變資料型別 不可變資料型別

在python中,資料型別分為可變資料型別和不可變資料型別,不可變資料型別包括string,int,float,tuple,可變資料型別包括list,dict。所謂的可變與不可變,舉例如下 a test print a 0 t a 0 1 traceback most recent call las...