在python中,当你创建一个对象并用另一个对象给它赋值的时候,这个对象和原来的对象都指向内存中的同一块内存区域,这被称作名称到对象的绑定。
对象与参考的示例1:
# filename : reference.py
animal_list1 = ['cat', 'dog', 'pig', 'fish'];
animal_list2 = animal_list1;
del animal_list1[3]; #delete fish
print 'animal_list1 :', animal_list1;
print 'animal list2 :', animal_list2;
# output is :
# animal_list1 : ['cat', 'dog', 'pig']
# animal list2 : ['cat', 'dog', 'pig']
对象与参考的示例2:
# filename : reference.py
animal_list1 = ['cat', 'dog', 'pig', 'fish'];
animal_list2 = animal_list1[:]; #slice operator
del animal_list1[3]; #delete fish
print 'animal_list1 :', animal_list1;
print 'animal list2 :', animal_list2;
# output is :
# animal_list1 : ['cat', 'dog', 'pig']
# animal list2 : ['cat', 'dog', 'pig', 'fish']
通过上面这两段代码,需要记住的是:
如果只是想用另外一个变量名来操作同一块内存区域,可以如代码1那样操作;否则复杂对象的复制必须使用切片操作来取得拷贝。
分享到:
相关推荐
组合数据类型是Python语言区别于其他高级编程语言的一大特色,通过组合数据类型,省去了其他语言各种复杂数据结构的设计,给编程人员带来了极大的方便,这也是Python流行于数据分析领域的原因之一。学习本章,要熟练...
组合数据类型是Python语言区别于其他高级编程语言的一大特色,通过组合数据类型,省去了其他语言各种复杂数据结构的设计,给编程人员带来了极大的方便,这也是Python流行于数据分析领域的原因之一。学习本章,要熟练...
阅读这些习题,把习题的代码精确地写出来(禁止复制和粘贴!),修正你的错误,观察程序的运行。在这个过程中,你将了解软件是如何工作的,好的程序看起来是什么样子,怎样阅读、编写、思考代码,以及如何用专业...
15.6 复制 159 15.7 调试 161 15.8 术语表 161 15.9 练习 162 第16章 类和函数 163 16.1 时间 163 16.2 纯函数 164 16.3 修改器 165 16.4 原型和计划 166 16.5 调试 167 16.6 术语表 168 16.7...
建造者模式(Builder):将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。 原型模式(Prototype):通过复制现有的实例来创建新的实例,而不是通过构造函数。 结构型模式(Structural ...
原型模式本质就是克隆对象,所以在对象初始化操作比较复杂的情况下,很实用,能大大降低耗时,提高性能,因为“不用重新初始化对象,而是动态地获得对象运行时的状态”。 应用特性: 需要大量的基于某个基础原型进行...
实际上JSON就是Python字典的字符串表示,但是字典作为一个复杂对象是无法直接传递,所以需要将其转换成字符串形式.转换的过程也是一种序列化过程. 用json.dumps序列化为json字符串格式 复制代码 代码如下: >>> import...
Schema free:可以向服务器提交任意结构的JSON对象,Solr中使用schema.xml指定了索引结构; 多索引文件支持:使用不同的index参数就能创建另一个索引文件,Solr中需要另行配置; 分布式:Solr Cloud的配置比较...
之前的Python:使用threading模块实现多线程编程七[使用Condition实现复杂同步]我们已经初步实现了线程间通信的基本功能,但是更为通用的一种做法是使用threading.Event对象。使用threading.Event可以使一个线程等待...
他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大...
他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大...
他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大...
他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大...
它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大...
他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大...
他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。 Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝...
10.3.11. 校对确定较为复杂的一些特殊情况 10.3.12. 校对必须适合字符集 10.3.13. 校对效果的示例 10.4. 字符集支持影响到的操作 10.4.1. 结果字符串 10.4.2. CONVERT() 10.4.3. CAST() 10.4.4. SHOW语句 10.5. ...
因此,我们介绍了iCub-HRI库,该库为与感知(对象识别,代理跟踪,语音识别,触摸检测),对象操纵(基本和复杂的动作)和社交互动(语音合成,共同注意)相关的组件提供了便利包装)公开为C ++库,并带有针对Python...
注意:有些人联系我并告诉我他们无法复制此 repo 中的某些结果。 我找不到原因,可能是我几年前做这个项目以来依赖项之一发生了变化。 不幸的是,我没有任何关于我当时使用的确切设置的注释。 如果你发现任何东西,...
Builder :将复杂对象的构造与其表示分开,以便同一构造过程可以创建不同的表示。 工厂方法:定义用于创建对象的接口,但让子类确定要实例化的类。 原型:指定要使用原型实例创建的对象的种类,并通过复制此原型来...