python中所有變數都是指標。
這句話不知道對不對
整型,字串,浮點型,元組
a =(1
,2)# 這句意思是a --> (1,2),a和(1,2)為同樣位址。a[1
]=3# 嘗試把a指向的(1,2)中的2修改為3,不可行,報錯
b = a
# b的位址也為(1,2)的位址
a =(1,
3)#這句意思是a重新指向了記憶體中的(1,3),可行,a與(1,3)位址相同。
print(id
(a),
id(b),id
((1,
3)),
id((1
,2))
)# 列印結果是id(a)跟id((1,3))相等,而id(b)跟id((1,2))相等
列表,字典,集合
a =[1
,2]print(id
(a),id(
[1,2
]))# id(a)和id([1,2])不同
b = a
print(id
(a),
id(b),id
([1,
2]))
# 結果是id(a)和id(b)相等,與id([1,2])不等。
a =[1,
3]print
(b)# 結果是b = [1,2]b[1
]=3print
(b)# 結果是b = [1,3]
總結:
1、變數名 = 不可變型別 例: a = (1,2)
那麼該變數名和該值是同乙個位址,
變數之間賦值傳遞的是該值的位址,該值在記憶體中不允許修改。
對變數重新賦值的話是該變數名就是另乙個位址了(但始終變數位址和值的位址相等)。
2、變數名 = 可變型別 例: a = [1,2]
那麼變數名本身也會有個位址,指向了該值(變數和值的位址不同)。
變數之間賦值傳遞的是該變數的位址,該值可進行修改。
對變數重新賦值的話,變數的位址也會改變(但變數位址和值的位址始終不同)。
python變數和資料型別
變數儲存在記憶體中的值。這就意味著在建立變數時會在記憶體中開闢乙個空間。基於變數的資料型別,直譯器會分配指定記憶體,並決定什麼資料可以被儲存在記憶體中。因此,變數可以指定不同的資料型別,這些變數可以儲存整數,小數或字元。python 中的變數賦值不需要型別宣告。每個變數在記憶體中建立,都包括變數的標...
Python變數和資料型別
本節內容如下 變數是程式用來儲存資料的記憶體單元,可以通過變數名稱來操作這些資料和記憶體分配情況。既然,變數要占用記憶體空間,那麼,就要考慮如何分配記憶體的問題,何時分配 分配多大 何時 不過這些在python中都非常簡單,python通過自動記憶體管理以及實現了這些功能。上面我們說了變數是用來儲存...
Python 變數和資料型別
此系列摘抄自廖雪峰python教程 變數和資料型別 list和tuple 條件語句和迴圈 dict和set 函式切片 迭代 生成器 生成器和迭代器 函式式程式設計 模組物件導向程式設計 物件導向高階程式設計 定製類列舉類和元類 錯誤及處理 python 可以處理任意大小的整數,包括負整數。字串是以 ...