Python天天美味(22) - 拷贝对象(深拷贝deepcopy与浅拷贝copy)

简介:
Python中的对象之间赋值时是按引用传递的,如果需要拷贝对象,需要使用标准库中的copy模块。
1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象。
2. copy.deepcopy 深拷贝 拷贝对象及其子对象
一个很好的例子:
import  copy
=  [ 1 2 3 4 , [ ' 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 天天美味(20) - 命令行参数sys.argv   

Python 天天美味(21) - httplib,smtplib  

Python 天天美味(22) - 拷贝对象(深拷贝deepcopy与浅拷贝copy)  

Python 天天美味(23) - enumerate遍历数组

Python 天天美味(24) - 初始化多维数组  

...



本文转自CoderZh博客园博客,原文链接:http://www.cnblogs.com/coderzh/archive/2008/05/17/1201506.html,如需转载请自行联系原作者

目录
相关文章
|
1月前
|
存储 安全 UED
一文让你读懂Python中的Response对象
一文让你读懂Python中的Response对象
41 0
|
24天前
|
运维 Python
【Python】python深拷贝与浅拷贝详解(必须掌握)
【Python】python深拷贝与浅拷贝详解(必须掌握)
|
10天前
|
Python
python面型对象编程进阶(继承、多态、私有化、异常捕获、类属性和类方法)(上)
python面型对象编程进阶(继承、多态、私有化、异常捕获、类属性和类方法)(上)
52 0
|
11天前
|
Python
python学习12-类对象和实例对象
python学习12-类对象和实例对象
|
1月前
|
Python
Python类与对象:深入解析与应用
本文介绍了Python中的核心概念——类和对象,以及它们在面向对象编程中的应用。类是用户定义的类型,描述具有相同属性和行为的对象集合;对象是类的实例,具备类的属性和方法。文章通过示例讲解了如何定义类、创建及使用对象,包括`__init__`方法、属性访问和方法调用。此外,还阐述了类的继承,允许子类继承父类的属性和方法并进行扩展。掌握这些概念有助于提升Python编程的效率和灵活性。
|
1月前
|
Python
请简述Python中的深拷贝和浅拷贝的区别?并举例说明。
【2月更文挑战第25天】【2月更文挑战第84篇】请简述Python中的深拷贝和浅拷贝的区别?并举例说明。
|
1月前
|
索引 Python
Python快速入门:Python对象
Python快速入门:Python对象
|
1月前
|
安全 Python
Python中的深拷贝和浅拷贝的区别
Python中的深拷贝和浅拷贝的区别
15 0
|
4月前
|
Shell Python
Python(三十二)python类的浅拷贝与深拷贝
Python中的对象复制,深拷贝与浅拷贝
37 1
|
8月前
|
存储 Python
Python中浅拷贝与深拷贝
Python中浅拷贝与深拷贝