在Python中,copy()
函數用于創建一個對象的副本。它接受一個對象作為參數,并返回一個新的對象,該對象具有與原始對象相同的值,但是是一個獨立的副本。這意味著對副本進行修改不會影響原始對象。
copy()
函數可以用于深拷貝和淺拷貝。如果對象本身不包含其他對象的引用,則執行淺拷貝;如果對象包含其他對象的引用,則執行深拷貝。
以下是copy()
函數的用法示例:
淺拷貝:
import copy
original_list = [1, 2, 3, [4, 5]]
copied_list = copy.copy(original_list)
original_list[0] = 10
original_list[3][0] = 40
print(original_list) # 輸出: [10, 2, 3, [40, 5]]
print(copied_list) # 輸出: [1, 2, 3, [40, 5]]
深拷貝:
import copy
original_list = [1, 2, 3, [4, 5]]
copied_list = copy.deepcopy(original_list)
original_list[0] = 10
original_list[3][0] = 40
print(original_list) # 輸出: [10, 2, 3, [40, 5]]
print(copied_list) # 輸出: [1, 2, 3, [4, 5]]
注意,copy()
函數只能用于普通的對象,對于一些特殊的對象(如文件、套接字等),可能不會產生預期的結果。在這種情況下,需要使用相關的函數或方法來進行拷貝。