重新思考 Python 變數:指標還是引用?
在 Python 程式設計世界中,變數通常被描述為「指標」。然而,這引發了有關這些變數行為的問題。考慮以下程式碼片段:
i = 5 j = i j = 3 print(i)
基於「指標」假設,程式碼運行後可能預期 i 的值為 3。然而,實際結果是 5。
這是怎麼回事?
理解 Python 引用
在 Python 中,變數的作用與指標不同。相反,它們充當參考。引用將變數連接到物件。當您將一個變數指派給另一個變數時,您正在建立對相同物件的參考。
這表示在第一個程式碼片段中,i 和 j 是對同一整數物件 (int(5)) 的參考。當 j 的值變更為 3 時,將會建立一個新的整數物件 (int(3)),而 j 成為對其的參考。但是,i 仍然是對原始整數物件 int(5) 的參考。
第二個程式碼片段用列表說明了此行為:
i = [1,2,3] j = i i[0] = 5 print(j)
在這種情況下,i 和 j 是兩者都引用同一個列表物件。當 i[0] 被修改時,列表物件本身也被改變,所以 i 和 j 仍然引用同一個列表。
結論
Python 變數不是指針,而是參考。它們建立與物件的連接,當變數的值更改時,它會影響物件本身。這解釋了程式碼片段中出現的意外結果,並作為理解 Python 變數行為的基本概念。
以上是Python 變數:指標還是引用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!