如何在python中复制对象

2024-10-16 12:36:06

python是一门应用非常广的语言,现在也非常流行。今天我们来看看python里对象相关的操作——如何复制对象。

工具/原料

python3

一、引用的方式复制对象

1、在python中,对象的复制按照深浅程度分为3种,依次是引用,浅复制,深复制。我们咸犴孜稍先来介绍对象引用,代码如下面图中所示,这种引用的方式是直接通过赋苒锃巳伢值的形式来实现的,将列表a的值赋值给列表b,此时b就是a的引用。b和a是一样的。

如何在python中复制对象

3、我们清空a里面的值时,可以发现,列表b里面的值也被清空了。如下面图中所示。这就是引用的特性,总结如下:1. 使用引用时,复制的对象和被复制的对象完全相同2. 修改复制的对象和被复制的对象时,两个都会同时被改变。

如何在python中复制对象

2、然后我们来清除a里面的值,如下面图中所示,可以看到a里面的值清除时,b里面的值没有任何改变。

如何在python中复制对象

4、下面我们来看,如下图中所莲镘拎扇示,此时的列表a里面多了一个子列表['x','y'],然后使用自带的copy函数来复制。然后给子列表中添加一个值,然后再查看b中的值。可以看到b中的子列表也添加了一个值。说明a和b不是完全独立的两个对象,这也是为什么称为浅复制的原因。

如何在python中复制对象如何在python中复制对象

三、深度复制

1、最后我们来看一下深度复制的方式来复制对象,深度复制使用的是copy模块的deepcopy函数。如下所示,可以看到,如果对象只是单纯的列表,复制出来的对象是完全隔离的。

如何在python中复制对象
猜你喜欢