Python之變數的建立過程

2022-07-04 05:24:10 字數 1293 閱讀 6605

首先,當我們定義了乙個變數name = 'kwan'的時候,在記憶體中其實是做了這樣一件事:

我們可以通過id()方法檢視這個變數在記憶體中的位址。

name = 'kwan'

print(id(name))

一般我們認為修改乙個變數就是用新值把就舊值覆蓋掉,可python真是這麼實現的麼?

實際的原理是什麼樣的呢?程式先申請了一塊記憶體空間來儲存'kwan',讓name變數名指向這塊記憶體空間,往下執行name = 'kobe'之後,又申請了另一塊記憶體空間來儲存'kobe',並讓原本指向'kwan'記憶體的鏈結斷開,讓name再指向'kobe'。

問:下面這段**為何出現這樣的現象?

要想知道上面問題的結果是為什麼,首先要了解再記憶體中兩個變數的儲存情況。

從上面的示意圖中我們可以知道,當執行name2 = name1時,事實上時讓name2指向了'kwan'所在的記憶體位址。

修改name1的值,相當於斷開了name1到'kwan'的鏈結,重新建立name1和'kobe'之間的鏈結。在這個過程中,始終沒有影響到name2和'kwan'之間的關係,因此name2還是'kwan',而name1變成了'kobe'。

Python之變數的建立過程!

python之變數的建立過程 一 變數建立過程 首先,當我們定義了乙個變數name kwan 的時候,在記憶體中其實是做了這樣一件事 我們可以通過 id 方法檢視這個變數在記憶體中的位址。name kwan print id name 二 變數的修改 一般我們認為修改乙個變數就是用新值把就舊值覆蓋掉...

Python之變數的命名

變數的命名 02.變數的命名規則 寫在最後的話 這裡是一段防爬蟲文字,請讀者忽略。本文原創首發於csdn,作者idys 部落格首頁 通過以下命令可以檢視python中的關鍵字 in 1 import keyword in 2 print keyword.kwlist false none true ...

python 之變數高階

在python中 注意 如果變數已經被定義,當給乙個變數賦值的時候,本質上是修改了資料的引用 在python中,變數的名字類似於便簽紙貼在資料上 圖示 圖示 圖示 變數b是第 2 個貼在數字2上的標籤 在python中,函式的實參 返回值都是是靠引用來傳遞來的 def test num print ...