您好,登錄后才能下訂單哦!
定義
解釋
b = a: 賦值引用,a和b都指向同一個對象
b = a.copy(): 淺拷貝,a和b都是一個獨立的對象,但它們的子對象是指向統一對象(是引用)
b = copy.deepcopy(a): 深拷貝,a和b完全拷貝了父對象及其子對象,兩者是完全獨立的
示例
以下是直接賦值、淺拷貝和深拷貝之對比
import copy a = [1, 2, 3, 4, ['a', 'b']] #原始對象 b = a #直接賦值,原始對象的引用 c = copy.copy(a) #淺拷貝 d = copy.deepcopy(a) #深拷貝 a.append(5) #修改對象a a[4].append('c') #修改對象a中的['a', 'b']列表對象 print( 'a = ', a ) print( 'b = ', b ) print( 'c = ', c ) print( 'd = ', d )
以上實例執行輸出結果為:
a = [1, 2, 3, 4, ['a', 'b', 'c'], 5]
b = [1, 2, 3, 4, ['a', 'b', 'c'], 5]
c = [1, 2, 3, 4, ['a', 'b', 'c']]
d = [1, 2, 3, 4, ['a', 'b']]
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。