python学习笔记(一)

  最近学习python,开始看《python核心编程》这本书,在第6章提到浅拷贝这个概念,书上说到“浅拷贝就是只拷贝了对对象的索引,而不是重新建立了一个对象。”对于这个概念我在网上搜了下最后有了点理解:


                                   

当用切片对list_one进行浅拷贝有了list_two,查询他们中元素的地址发现每个元素的地址都是一样的,也就证实了“浅拷贝就是只拷贝了对对象的索引,而不是重新建立了一个对象”这句话。

                                     

这时改变list_three中的某个元素发现,list_four也变了,但是通过查询ID可以发现,元素的ID始终没有变化,也就是说没有生成新的对象只是原地改变。这是因为我们改变的是list_three序列中的序列元素,序列属于可改变值的对象。当我们试着改变list_three中的整数元素后会发现list_four不会被影响,查询ID会发现元素的ID变化了,这是因为在python中整数是不可改变值的对象,所以想要去改变它时才会生成新的对象,因为生成新的对象ID值不同,也就不会对另外的序列有影响。

  而在深拷贝中拷贝的是对象本身不是引用,是独立的个体不会相互影响所以不会有像浅拷贝中的现象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值