Python程序设计

Python里面如何拷贝一个对象?(赋值,浅拷贝,深拷贝的区别)

题目

Python里面如何拷贝一个对象?(赋值,浅拷贝,深拷贝的区别)

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

如果myclass类定义了拷贝构造函数和一个整型参数的构造函数,还重载了赋值运算符,那么语句myclassobj=100;会( )

A、调用拷贝构造函数

B、调用整型参数的构造函数

C、调用赋值运算符

D、引起编译错误


参考答案:B

第2题:

What’s the difference between deep copy and shallow copy?

(深拷贝与浅拷贝有什么区别)


正确答案:
 

第3题:

对于拷贝初始化构造函数和赋值操作的关系,正确的描述是( )。

A.拷贝初始化构造函数和赋值操作是完全一样的操作

B.进行赋值操作时,会调用类的构造函数

C.当调用拷贝初始化构造函数时,类的对象正在被建立并被初始化

D.拷贝初始化构造函数和赋值操作不能在同一个类中被同时定义


正确答案:C

第4题:

简述什么是深拷贝和浅拷贝。


正确答案:如果一个类的数据成员需要使用动态分配的堆资源,并且这个类的对象之间发生了数据成员拥有的堆资源复制过程的时候,这个过程就可以叫做深拷贝,反之,对象存在数据成员拥有堆资源但复制过程并未实现数据成员拥有堆资源的复制情况视为浅拷贝。

第5题:

下列有关拷贝构造函数的描述中错误的是( )。

A.拷贝构造函数是一种构造函数

B.拷贝构造函数与一般的构造函数一样,可以设置多个形参

C.每一个类中都必须有一个拷贝构造函数

D.拷贝构造函数的功能是用一个已知对象去初始化一个正在创建的对象


正确答案:B

第6题:

关于拷贝初始化构造函数,描述不正确的是( )。

A.拷贝初始化构造函数是类的成员函数,函数名与类名相同。

B.函数只有一个参数,并且是对某个对象的引用

C.每个类都必须有一个拷贝初始化构造函数。

D.要定义拷贝初始化构造函数,必须指定返回类型


正确答案:D
解析:拷贝初始化构造函数也是一个构造函数,也没有返回类型。

第7题:

关于卷拷贝,下列说法正确的是()

A. 卷拷贝指手动将某个卷拷贝成另一个卷

B.卷拷贝相比于卷镜像,前者更强调突发的手动执行

C.可以在同一台设备内部的两个卷之间实现拷贝

D.不同设备之间不能实现卷拷贝


参考答案ABC

第8题:

对于拷贝构造函数和赋值操作的关系,正确的是( )。

A.拷贝构造函数和赋值操作是完全一样的操作

B.进行赋值操作时,会调用类的构造函数

C.当调用拷贝构造函数时,类的对象正在被建立并被初始化

D.拷贝构造函数和赋值操作不能在同一个类中被同时定义


正确答案:C
解析: 在赋值操作中,将发生对象的拷贝操作,但并不说明两者是完全一样的。一般情况下,如果给类定义了赋值操作符,则应该同时定义合适的拷贝构造函数,除非系统默认生成的拷贝构造函数满足赋值操作。实际上,系统默认的拷贝构造函数仅仅将数据成员进行简单的对应赋值,而在多数特殊应用中,需要程序员重新定义拷贝构造函数。

第9题:

浅复制(拷贝)和深复制(拷贝)分别指的是什么?


正确答案: 浅复制和深复制是对于包含对象成员的对象而言的。浅复制:只复制对象本身,对象的成员只复制指针。深复制:在浅复制的基础上,同时复制对象的成员。

第10题:

()变量在内存中只有一个拷贝,被该类的所有对象共享;每当创建一个实例,就会为()变量分配一次内存,()变量可以在内存中有多个拷贝,互不影响。


正确答案:类;实例;实例

更多相关问题