python中的深copy和浅copy

深浅copy相似于linux的硬软连接,一个复制为另外一个文件,一个相似于快捷方式。linux

import copyapp

#这里有子对象
numbers=['1','2','3',['4','5']]
#浅copy
num1=copy.copy(numbers)
#深copy
num2=copy.deepcopy(numbers)ide

#直接对对象内容进行修改
num1.append('6')对象

#这里能够看到内容地址发生了偏移,增长了偏移‘6’的地址
print('numbers:',numbers)
print('numbers memory address:',id(numbers))
print('numbers[3] memory address',id(numbers[3]))
print('num1:',num1)
print('num1 memory address:',id(num1))
print('num1[3] memory address',id(num1[3]))it

num1[3].append('6')class

print('numbers:',numbers)
print('num1:',num1)
print('num2',num2)import

输出:
numbers: ['1', '2', '3', ['4', '5']]
numbers memory address: 1556526434888
numbers memory address 1556526434952
num1: ['1', '2', '3', ['4', '5'], '6']
num1 memory address: 1556526454728
num1[3] memory address 1556526434952
numbers: ['1', '2', '3', ['4', '5', '6']]
num1: ['1', '2', '3', ['4', '5', '6'], '6']
num2 ['1', '2', '3', ['4', '5']]im

相关文章
相关标签/搜索