这礼拜碰到一些问题,然后意识到基础知识一段时间没巩固的话,还是有遗忘的部分,还是需要温习,这里做份笔记,记录一下
前续
先简单描述下碰到的题目,要求是写出2个print的结果
可以看到,...
分类:
编程语言 时间:
2016-12-12 15:11:43
阅读次数:
281
之前,我在博文Python–内存管理中说明了Python中对象赋值的问题,我们已经知道,当创建一个对象,并且把这个对象赋值给另一个变量的时候,其实并没有拷贝这个对象,而只是给这个对象增加了一个引用(这一点具体可以参见链接给出的博文中“引用计数”这一节)
复习一下,比如下面的例子
这里写代码片...
分类:
编程语言 时间:
2016-08-03 12:03:26
阅读次数:
213
Python中浅拷贝和深拷贝的区别浅拷贝和深拷贝示意图如上图,简单点说1.copy.copy浅拷贝只拷贝父对象,不会拷贝对象的内部的子对象。2.copy.deepcopy深拷贝拷贝对象及其子对象数字,字符串是不可变类型列表,字典是可变类型我们看下面的案例案例一:浅拷贝>>>importcop..
分类:
编程语言 时间:
2016-06-15 12:50:12
阅读次数:
299
今天写兑换码时,玩家兑换兑换码时,拿到了上个兑换码的奖励,还一直怀疑,mysql取该兑换码那个环节出错了,实际上是直接引用了全局常量里的数据。导致后面全局常量的数据用的是上个兑换码的奖励内容。 今天就来说说前拷贝和深拷贝之分吧! 浅拷贝: copy.copy:拷贝内容 浅拷贝会生成一个新的对象,但是 ...
分类:
编程语言 时间:
2016-05-17 06:20:03
阅读次数:
224
copy_list=list[:] 得到的是浅拷贝,即只能顶层拷贝,里面的嵌套不会复制一份。深拷贝方法如下:import copya = [0, [1, 2], 3]b = copy.deepcopy(a)a[0] = 8a[1][1] = 9int,float,long,str,tuple为不可变...
分类:
编程语言 时间:
2015-08-17 00:51:49
阅读次数:
136
一、前奏:熟悉Python内存管理在Python中,变量在第一次赋值时自动声明,在创建---也就是赋值的时候,解释器会根据语法和右侧的操作数来决定新对象的类型。引用计数器:一个内部跟踪变量引用计数:每一个对象各有多少个引用当对象被创建并(将其引用)赋值给变量时,该对象的引用计数就被设置为 1>>> ...
分类:
编程语言 时间:
2015-06-29 21:53:14
阅读次数:
131
在python中,当你对一个对象赋值,将其作为参数传递,或者作为结果返回时,python通常会使用指向原对象的引用(即把新对象的内存地址指向原对象),而不是真正的拷贝。其它的一些语言则在每次赋值时都都进行拷贝操作。在python中不为赋值操作进行“隐式”的拷贝,要得到一个拷..
分类:
编程语言 时间:
2014-12-13 06:25:09
阅读次数:
442