Python 學習之一 變數名及賦值操作的本質

2021-06-02 08:34:55 字數 972 閱讀 3045

python 中的變數名有些類似於c++中的指標的概念.

python 中的賦值操作改變的並不是記憶體中變數的值, 而是變數名指向的變數.

>>> var = 3

>>> tmp = var

>>> var

3>>> tmp

3>>> id(var)

10417272

>>> id(tmp)

10417272

>>> id(3)

10417272

>>> var = 4

>>> id(var)

10417260

>>> id(4)

10417260

>>> id(tmp)

10417272

>>> t***

>>> var

4>>>

上邊的例子指出, 當執行 "var = 3" 時, python會在記憶體中分配一塊空間, 把"3"賦值給這塊空間.

然後, 將變數名 "var" 關聯到分配的記憶體.

當執行 "var = 4" 時, python 會再分配一塊記憶體並存入"4", 然後將變數名 "var" 關聯到"4" 所在記憶體.

此時"3"所在的記憶體並沒有變化.

對應的操作是:

>>> var = 3

分配記憶體編號10417272, 存入"3"

將"var" 關聯到

10417272

>>> var = 4

分配記憶體編號10417260, 存入"4"

將"var" 關聯到

10417260

>>> tmp

3>>> id(tmp)

10417272 此時

10417272中的內容沒有破壞, 仍然是"3", 並且"tmp"仍然指向10417272

事實上,當沒有任何變數名指向乙個記憶體中的變數市, python將釋放該記憶體變數

JavaScript字串拼接變數名及賦值

某些時候需要通過傳參的形式來改變或獲取有規律的變數值,就可以用到變數名拼接 傳參拼接變數名獲取值方法一 適用於全域性變數 通過中括號 var lang zh 你好 var lang en hello function test str console.log test zh 你好 console.l...

Python學習筆記(一) 變數

本文所有程式都是基於pycharm編譯器和python3.6.6編寫的。引出變數時不需要申明變數的資料型別,但必須給變數賦值。先給變數起個名字,起名字要遵循一下原則 由字母 數字 下劃線組成,變數名不能以數字開頭 區分大小寫。如 a和a是兩個變數 不能包含空格 不能是python中的關鍵字。如 fo...

Python學習筆記(一) 變數

python語言允許在任何地方插入空字元和注釋,但不能插入到識別符號和字串中間。python源 的注釋由兩種形式 python使用井號 表示單行注釋的開始,跟在 號後面直到這行結束為止的 都將被直譯器忽略。單行注釋就是在程式中注釋一行 在python程式中將 號放在需要注釋的內容之前就可以了。多行注...