引用(一)可變、不可變型別
阿新 • • 發佈:2018-11-22
想一想
a = 1
b = a
b
1a = 2
a
2
請問此時b的值為多少?a = [1, 2]
b = a
b
[1, 2]a.append(3)
a
[1, 2, 3]
請問此時b的值又是多少?
引用
在python中,值是靠引用來傳遞來的。
我們可以用id()來判斷兩個變數是否為同一個值的引用。 我們可以將id值理解為那塊記憶體的地址標示。
a = 1
b = a
id(a)
13033816id(b) # 注意兩個變數的id值相同
13033816a = 2
id(a) # 注意a的id值已經變了
13033792id(b) # b的id值依舊
13033816a = [1, 2]
b = a
id(a)
139935018544808id(b)
139935018544808a.append(3)
a
[1, 2, 3]id(a)
139935018544808id(b) # 注意a與b始終指向同一個地址
139935018544808
引用原理
總結:
之前為了更好的理解變數,咱們可以把a=100理解為變數a中存放了100,事實上變數a儲存是100的引用(可理解為在記憶體中的一個編號)
可變、不可變型別
總結
所謂可變型別與不可變型別是指:資料能夠直接進行修改,如果能直接修改那麼就是可變,否則是不可變
可變型別有: 列表、字典、集合
不可變型別有: 數字、字串、元組