千锋教育-做有情怀、有良心、有品质的IT职业教育机构

Python入门基础知识之复制和浅复制

时间:2018-04-11 15:05:29  |  来源:千锋教育郑州校区  |  作者:

   复制是以美术品原作为依据,进行科学的复原制作,键盘快捷键为Ctrl+C,是常见的操作之一。Python是人工智能时代佳编程语言,Python赋值语句不会对对象进行拷贝,仅仅是将变量名指向对象,对于不可修改的对象来说非常不方便日常使用,对于可修改的对象而言,你可以通过赋值得到。那么Python中如何进行复制呢?今天千锋郑州python培训班的老师就来给大家介绍一下。

  在Python中,对象赋值实际上是对象的引用。当创建一个对象,然后把它赋给另一个变量的时候,Python并没有拷贝这个对象,而只是拷贝了这个对象的引用,通常包含三种方式:

  1)直接赋值,传递对象的引用。原始列表改变,被赋值的对象也会做相同的改变;

  2)copy浅拷贝,只拷贝父对象,不会拷贝对象的内部的子对象;浅复制只复制对象本身,没有复制该对象所引用的对象。

  3)深拷贝,是指重新再内存中开辟出一块空间,再把拷贝对象的值拷贝过来,由于重新开辟了空间,所以地址不同,看起来值相同,但其实是不同的指向,原始对象的改变不会造成深拷贝里任何子元素的改变。

图片2.png

  同样的,使用Python拷贝文件常用的方法也有三种:

  1) 使用Python标准库 shutil。你可以使用shutil的copytree和copy2函数进行拷贝操作,copytree函数是用来拷贝文件夹的,而copy2可以进行单个文件的拷贝。

  2)使用第三方工具 fastcopy。fastcopy这个工具是一款开源的文件拷贝工具,重要的是他支持命令行。

  3)使用cmd命令 robocopy。对于cmd的复制操作,经常写bat的朋友们肯定会想到的是copy和xcopy,虽然这两个都很好用,但是都太古老了,而且速度都很慢。需要注意的是:cmd中的命令只认,而不认/ ,因此路径需要转成“”。

  千锋郑州python培训课程是依据企业需求、以为导向制定的,课程内容系统化,涵盖系统的理论知识以及较多的企业级实战项目,采用大牛讲师全程面授学科法,还有一体化的体系,是你快速入门Python,成为企业急需人才的选择。

新开班

  • ▪ JavaEE培训班 06.11 抢座
  • ▪ Python培训班 05.28 抢座
  • ▪ HTML5培训班 05.14 抢座
  • ▪ JavaEE培训班 05.02 抢座
  • ▪ Python培训班 04.16 抢座
  • ▪ UI交互设计培训 05.02 抢座
  • ▪ HTML5培训班 04.09 开班
  • ▪ Python培训班 03.26 开班
  • ▪ HTML5培训班 03.12 爆满
  • ▪ JavaEE培训班 03.26 开班
  • 郑州地址:郑州市二七区航海中路60号海为科技园C区10层、12层
    咨询电话:0371-55911950 400-654-7778
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训
  • 北京天丰利校区:北京市海淀区宝盛北里西区28号天丰利商城4层
    北京沙河校区:北京市昌平区沙阳路18号北京科技职业技术广场服务楼2层、南区服务楼2层
    咨询电话:400-654-7778 010-82790226-801
    面授课程:iOS培训、Android培训、HTML5培训、UI培训、PHP培训、JavaEE培训、好程序员
  • 深圳科技园校区:深圳市南山区科苑南路高新技术产业园R3-B栋5层
    深圳大学城校区:深圳市南山区留仙大道1201号大学城创客小镇16栋2楼、3楼
    深圳西部硅谷校区:深圳市宝安区宝安大道5010号西部硅谷B座A605-619
    咨询电话:0755-86681178/9-801
    面授课程:iOS培训、Android培训、HTML5培训、UI培训、PHP培训、JavaEE培训、好程序员
  • 上海地址:上海市宝山区同济支路199号智慧七立方3号楼2-4层
    咨询电话:400-627-7899 021-65025129-602
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训、好程序员
  • 成都旅游校区:成都市一环路西二段17号四川旅游青羊校区内
    成都华立校区:成都一环路西二段17号华立大厦3楼
    咨询电话:028-83178771 028-61967740
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训
  • 广州地址:广州市天河区元岗路310号智汇park创意园E座5层
    咨询电话:020-22119207 400-654-7778
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 大连地址:大连市甘井子区软件园路2号B8座二楼
    咨询电话:0411-39026086 400-654-7778
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 武汉地址:武汉市东新区光谷大道77号金融港B26栋9楼
    咨询电话:027-59905909 027-59905908 027-59905902
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 西安南二环校区:西安市二环南路西段60号永安大厦4层
    西安科技园校区:西安市雁塔区高新六路52号立人科技园C座西区4层
    咨询电话:029-85260160 029-85261030 029-85260960
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 杭州地址:浙江省杭州市江干区九堡旺田书画城A座4层
    咨询电话:0571-86893632 010-82790226/7-801
    面授课程:iOS课程培训、Android课程培训
  • 青岛校区地址:青岛市市南区金坛路17号青岛职业技术南校区实训楼A4层
    咨询电话:0532-80910752/3 010-82790226/7-801
    面授课程:iOS课程培训、Android课程培训、UI课程培训
  • 千锋教育微信号
    扫描加好友