Python库之copy详解,赋值,浅拷贝和深拷贝(个人理解,有错误请指出,谢谢)

Python库之copy详解,赋值,浅拷贝和深拷贝(个人理解,有错误请指出,谢谢)
最新回答
全都是假的丶

2026-10-28 00:12:00

Python自带库中包含名为copy的库,提供两种方法:copy.copy()和copy.deepcopy。

赋值在Python中是对象之间的引用关系,父对象和子对象共享同一引用。

浅拷贝只在新的id地址存放父对象,而子对象保持原地。

若父对象为可变类型,子对象也为可变类型,则浅拷贝后,父和子对象均指向新地址;若父对象为不可变类型,子对象为可变类型,浅拷贝后,父对象地址不变,子对象指向新地址;若两者均为不可变类型,则两者地址不变。

深拷贝则在新地址中同时拷贝父对象和子对象。

Python的数据类型中,整型、字符串、元组为不可变类型,列表、字典、集合为可变类型。

赋值操作示例显示,使用a=b时,a和b共享同一id地址,修改其中一个对象会改变另一个。

浅拷贝示例中,若父对象为列表,且子对象也为列表时,浅拷贝后,父和子列表指向新地址,但修改子列表会影响父列表。

深拷贝示例中,将浅拷贝替换为深拷贝,子对象的id地址不再共享,修改父列表中的子列表不会影响子列表。