當前位置:成語大全網 - 新華字典 - python深拷貝和淺拷貝的區別

python深拷貝和淺拷貝的區別

1、淺拷貝(shallow copy)

所謂“淺拷貝”,是指創建壹個新的對象,其內容是原對象中元素的引用。(拷貝組合對象,不拷貝子對象)

常見的淺拷貝有:切片操作、工廠函數、對象的copy()方法、copy模塊中的copy函數。

2、深拷貝(deep copy)

所謂“深拷貝”,是指創建壹個新的對象,然後遞歸的拷貝原對象所包含的子對象。深拷貝出來的對象與原對象沒有任何關聯。

深拷貝只有壹種方式:copy模塊中的deepcopy函數。

總結:

copy淺拷貝,沒有拷貝子對象,所以原始數據改變,子對象會改變

深拷貝,包含對象裏面的自對象的拷貝,所以原始對象的改變不會造成深拷貝裏任何子元素的改變