Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)

 更新时间:2008年09月06日 14:23:13   作者:  
Python中的对象之间赋值时是按引用传递的,如果需要拷贝对象,需要使用标准库中的copy模块。
1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象。
2. copy.deepcopy 深拷贝 拷贝对象及其子对象
一个很好的例子:
import copy
= [1234, ['a''b']]  #原始对象

= a  #赋值,传对象的引用
= copy.copy(a)  #对象拷贝,浅拷贝
= copy.deepcopy(a)  #对象拷贝,深拷贝

a.append(
5)  #修改对象a
a[4].append('c')  #修改对象a中的['a', 'b']数组对象

print 'a = ', a
print 'b = ', b
print 'c = ', c
print 'd = ', d

输出结果:
a =  [1, 2, 3, 4, ['a', 'b', 'c'], 5]
b =  [1, 2, 3, 4, ['a', 'b', 'c'], 5]
c =  [1, 2, 3, 4, ['a', 'b', 'c']]
d =  [1, 2, 3, 4, ['a', 'b']]

相关文章

  • Python 简单计算要求形状面积的实例

    Python 简单计算要求形状面积的实例

    今天小编就为大家分享一篇Python 简单计算要求形状面积的实例,具有很好的参考价值
    2020-01-01
  • Python中base64编码与解码详解

    Python中base64编码与解码详解

    本文主要介绍了Python2和Python3中使用base64加密方式的区别,Python3中字符为unicode编码,而b64encode函数的参数为byte类型,所以需要先进行转码
    2024-11-11
  • 简单了解Python下用于监视文件系统的pyinotify包

    简单了解Python下用于监视文件系统的pyinotify包

    这篇文章主要介绍了Python下用于监视文件系统的pyinotify包,pyinotify基于inotify事件驱动机制,需要的朋友可以参考下
    2015-11-11
  • Python3读取Excel数据存入MySQL的方法

    Python3读取Excel数据存入MySQL的方法

    今天小编就为大家分享一篇Python3读取Excel数据存入MySQL的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Python基础之hashlib模块subprocess模块logging模块

    Python基础之hashlib模块subprocess模块logging模块

    这篇文章主要为大家介绍了Python基础之hashlib模块subprocess模块logging模块示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • python中Matplotlib绘制直线的实例代码

    python中Matplotlib绘制直线的实例代码

    在本篇文章里小编给大家整理的是一篇关于python中Matplotlib绘制直线的实例代码内容,有兴趣的朋友们可以跟着学习下。
    2021-07-07
  • Python数据可视化之分析热门话题“丁克家庭都怎么样了”

    Python数据可视化之分析热门话题“丁克家庭都怎么样了”

    今天小编就以一个数据分析师的视角来向大家讲述一下年轻人群体对于丁克的态度以及那些丁克家庭他们的想法是怎么样的?他们是否有过后悔当初的决定,需要的朋友可以参考下
    2021-06-06
  • Python中threading.Timer()定时器实现定时任务

    Python中threading.Timer()定时器实现定时任务

    本文主要介绍了Python中threading.Timer()定时器实现定时任务,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • 深度解读Python如何实现dbscan算法

    深度解读Python如何实现dbscan算法

    DBScan 是密度基于空间聚类,它是一种基于密度的聚类算法,其与其他聚类算法(如K-Means)不同的是,它不需要事先知道簇的数量。本文就来带大家了解一下Python是如何实现dbscan算法,感兴趣的可以了解一下
    2023-02-02
  • pytest参数化:@pytest.mark.parametrize详解

    pytest参数化:@pytest.mark.parametrize详解

    pytest.mark.parametrize装饰器能够对测试函数进行参数化处理,使得一个测试函数可以用多组数据执行多次,这有助于检查不同输入下的期望输出是否匹配,提高测试的效率和覆盖率,装饰器可以应用于函数、模块或类,支持多个装饰器组合使用,增强测试的灵活性和综合性
    2024-10-10

最新评论