a = {1:[1,2,3]}
① 赋值"="操作
b = a: 赋值引用,a 和 b 都指向同一个对象。
注意:在使用赋值“=”的时候,不可对原变量进行重新的赋值操作,否则原变量会指向一个新的内存地址。例如:
例1:
# 用"="进行赋值操作 a = [1,2,3] b = a a = [2,3,4] print(a) print(b) """ 结果: [2, 3, 4] [1, 2, 3] """
例2:
# 对变量a本身进行修改 a = [1,2,3] b = a a.append(99) print(a) print(b) """" 结果: [1, 2, 3, 99] [1, 2, 3, 99] """②浅拷贝
b = a.copy(): 浅拷贝, a 和 b 是一个独立的对象,但他们的子对象还是指向统一对象(是引用)。
③深拷贝copy对于一个复杂对象的子对象并不会完全复制,比如序列里的嵌套序列,字典里的嵌套序列等都是复杂对象的子对象。对于子对象,python会把它当作一个公共镜像存储起来,所有对他的复制都被当成一个引用。
b = copy.deepcopy(a): 深度拷贝, a 和 b 完全拷贝了父对象及其子对象,两者是完全独立的。



