
Python 的 copy 库提供了浅拷贝和深拷贝功能,用于复制对象。浅拷贝只复制对象本身,而深拷贝则复制对象及其包含的所有子对象。这个库对于创建对象副本、避免共享可变对象带来的副作用非常有用。它在数据处理、对象克隆和备份时提供了灵活的操作,是处理对象复制时的重要工具。
a = [1,2,[3,4]]b = aprint("直接赋值:")print("a:",a)print("b:",b)print("第一次改变:")a[1] = 666print("a:",a)print("b:",b)print("第二次改变:")a[2][0] = 777print("a:",a)print("b:",b)输出:直接赋值:a: [1, 2, [3, 4]]b: [1, 2, [3, 4]]第一次改变:a: [1, 666, [3, 4]]b: [1, 666, [3, 4]]第二次改变:a: [1, 666, [777, 4]]b: [1, 666, [777, 4]]
a = [1,2,[3,4]]b = a.copy()print("浅拷贝:")print("a:",a)print("b:",b)print("第一次改变:")a[1] = 666print("a:",a)print("b:",b)print("第二次改变:")a[2][0] = 777print("a:",a)print("b:",b)输出:浅拷贝:a: [1, 2, [3, 4]]b: [1, 2, [3, 4]]第一次改变:a: [1, 666, [3, 4]]b: [1, 2, [3, 4]]第二次改变:a: [1, 666, [777, 4]]b: [1, 2, [777, 4]]
import copya = [1,2,[3,4]]b = copy.deepcopy(a)print("深拷贝:")print("a:",a)print("b:",b)print("第一次改变:")a[1] = 666print("a:",a)print("b:",b)print("第二次改变:")a[2][0] = 777print("a:",a)print("b:",b)输出:深拷贝:a: [1, 2, [3, 4]]b: [1, 2, [3, 4]]第一次改变:a: [1, 666, [3, 4]]b: [1, 2, [3, 4]]第二次改变:a: [1, 666, [777, 4]]b: [1, 2, [3, 4]]