Ptyhon 變量的賦值詳解

1、固定變量賦值

Ptyhon 變量的賦值詳解
圖1
Ptyhon 變量的賦值詳解
圖2
根據上面顯示的圖1,來進行圖2的賦值操作,下面進行詳細說明。
定義變量s1 >>>s1='nihao'
定義變量s2等於s1 >>>s2=s1
打印s1的內存地址 >>>print(id(s1))
10164800
打印s2的內存地址 >>>print(id(s2))
10164800
由此可以看出,s2和s1內存地址一樣,同時指向‘nihao’字符串。
給變量s1重新賦值 >>>s1='nihaoma'
打印s1的內存地址 >>>print(id(s1))
10164960
打印s2的內存地址 >>>print(id(s2))
10164800
由以上兩步操作可以看出,s1重新賦值以後,新的內存地址不在是原始的內存地址,而是重新指向新的'nihaoma'字符串所對應的內存地址上,但是,s2還是原來的內存地址,並未變化,因此s2的值也不會更改,還是‘nihao’字符串。
2、可變變量賦值
Ptyhon 變量的賦值詳解
圖3
Ptyhon 變量的賦值詳解
圖4
根據上面顯示的圖3,來進行圖4的賦值操作,下面進行詳細說明。
定義可變的L1變量>>>L1=[1,2,3,4,5]
將L1變量賦值給L2變量 >>>L2=L1
查看L2的值 >>>L2
[1,2,3,4,5]
查看L1的內存地址>>>print(id(L1))
9618816
查看L2的內存地址>>>print(id(L2))
9618816
由以上可以看出,賦值操作,被賦值的變量地址和賦值的變量地址是一樣的。
L1新增>>>L1.append(6)
查看L1和L2的值都爲
[1,2,3,4,5,6]
查看L1的內存地址>>>print(id(L1))
9618816
查看L2的內存地址>>>print(id(L2))
9618816
由以上操作可以看出,更改後的L1內存地址並未改變,但是值改變了,L2的內存地址也沒改變,但是值改變了,所以,可變的變量如果只是單純的對數據進行更改,例如增刪改,都不會改變內存地址,只是值改變了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章