在python中,物件賦值實際上是物件的引用。當建立一個物件,然後把它賦給另一個變數的時候,python並沒有複製這個物件,而只是複製了這個物件的引用。
1。 賦值
賦值其實只是傳遞物件引用,引用物件id是一樣的。原始列表改變,被賦值的b也會做相同的改變。
2。淺複製
淺複製是指複製的只是原始物件元素的引用,換句話說,淺複製產生的物件本身是新的,但是它的內容不是新的,只是對原物件的一個引用。
淺copy的幾種方式:
使用切片[:]操作進行複製
使用工廠函式(如list/dir/set)等進行複製
copy。copy()
3。 深複製
深複製是指完全複製原始物件,而且產生的物件是新的,並且不受其他引用物件的操作影響。
深copy:
Names2 = copy。deepcopy(names)