对象的传参用的是传引用,但开发中通常不允许对传入参数进行修改。因此对象拷贝很常用,Python提供一个很方便的对象拷贝方法

如代码:

__author__ = 'mengxuan'

import copy

def main():
a=[1,2,3,4,5,6,['a','b','c','d']]
b=a
c=copy.copy(a)
d=copy.deepcopy(a)
a.append(8)
a[6].append('e') print 'a=',a
print 'b=',b
print 'c=',c
print 'd=',d if __name__ =="__main__":
main()

执行结果:

a= [1, 2, 3, 4, 5, 6, ['a', 'b', 'c', 'd', 'e'], 8]
b= [1, 2, 3, 4, 5, 6, ['a', 'b', 'c', 'd', 'e'], 8]
c= [1, 2, 3, 4, 5, 6, ['a', 'b', 'c', 'd', 'e']]
d= [1, 2, 3, 4, 5, 6, ['a', 'b', 'c', 'd']]

深拷贝将对象a 的子对象也进行了拷贝,所以,对对象a的子对象进行添加'e'操作对d无影响  

最新文章

  1. javascript 转盘抽奖代码和计数器代码
  2. html中的a标签(超链接)的使用
  3. volatile关键字并不能作为线程计数器
  4. 深入理解Nginx之调试优化技巧
  5. 解决Mac下GDB提示签名错误
  6. C#形参,实参,值传递参数,引用传递参数,输出参数,参数数组的学习
  7. 【LeetCode OJ】Max Points on a Line
  8. Jfinal中定时器的初步探索(二)
  9. HDU 5522 Numbers 暴力
  10. nmap命令-----基础用法
  11. 精通 Oracle+Python,第 4 部分:事务和大型对象
  12. 构建高性能web站点笔记一
  13. 关于Yii框架的基础知识
  14. sweetalert------一个非常萌的alert!
  15. 8天入门docker系列 —— 第四天 使用aspnetcore小案例熟悉端口映射和挂载目录
  16. JavaScript之事件的绑定与移除
  17. 编程从入门到放弃(Java)
  18. 七种bond模式说明
  19. Eclipse - Mac Os Default JRE missing
  20. 【分布式计算】30分钟概览Spark分布式计算引擎

热门文章

  1. vs调试 本地IIS
  2. .pfx格式和.Cer格式的区别
  3. 1.关于UltraEdit中的FTP和Tenent配置,UE远程连接Linux进行文件操作
  4. android97 播放音频 有进度条控制
  5. java中最简单的方式新起一个线程
  6. commons-io源码阅读心得
  7. Linq常用查询运算符
  8. Hibernate注解错误之- org.hibernate.MappingException: Could not determine type for:
  9. C#里面比较时间大小三种方法
  10. 20151221jqueryUI---日历UI代码备份