Python 會被指派引用還是複製嗎?
問題:
在處理諸如此類的物件時,Python 的賦值行為可能會令人困惑字典。考慮以下程式碼:
預期輸出:
實際輸出:
解釋:
解釋:
解釋:
解釋: 解釋: 解>Python 變數指的是記憶體中的物件。當您分配 dict_a = dict_b 時,您並不是複製字典物件本身,而是分配對與 dict_b 相同的記憶體位址的引用。這意味著對一個字典所做的更改將影響所有三個變量,因為它們指向同一個底層物件。
解決方案:建立一個真實的副本Python 中的對象,需要使用 copy 或 copy.deepcopy 函數。以下程式碼將建立原始字典的獨立副本:淺複製:建立引用與原始字典相同的嵌套物件的新字典。 深度複製: 建立一個新字典並遞歸複製所有巢狀物件。 透過使用這些函數,您可以確保對一個字典所做的更改不會影響其他字典。
以上是Python 賦值是否會建立物件的複製或參考?的詳細內容。更多資訊請關注PHP中文網其他相關文章!