python中如何拷贝一个对象_python题目-----Python里面如何拷贝一个对象?
在Python中,无论是对象赋值,作为为参数传递,作为函数返回值,都是引用传递的.如果需要拷贝对象,需要使用标准库中的copy模块(import copy)。
1.浅拷贝 :
使用copy.copy,它可以进行对象的浅拷贝(shallow copy),它复制了对象,但对于对象中的元素,依然使用引用(换句话说修改拷贝对象元素,则被拷贝对象元素也被修改)
2.深拷贝 :
使用copy.deepcopy,它可以进行深拷贝,不仅拷贝了对象,同时也拷贝了对象中的元素,获得了全新的对象,与被拷贝对象完全独立,但这需要牺牲一定的时间和空间。
3.特殊拷贝:
如要复制列表L,使用list(L),要复制一个字典d,使用dict(d),要复制一个集合s,使用set(s)。
总结一下的话:如果你要复制某个对象object, 它属于python内建的类型type,那么你可以使用type(object)来 获得一个拷贝。
4 举例:
import copy
list = [1, 2, 3, 4, ['a', 'b']] #原始对象
b = list #赋值,传对象的引用,依然指向list
c = copy.copy(list) #对象拷贝,浅拷贝(元素依然是共享的引用)
d = copy.deepcopy(list) #对象拷贝,深拷贝
list.append(5) #修改对象list
list[4].append('c') #修改对象list中的['a', 'b']数组对象
print 'list = ', list
print 'b = ', b
print 'c = ', c
print 'd = ', d
输出结果:
list = [1, 2, 3, 4, ['a', 'b', 'c'], 5]
b = [1, 2, 3, 4, ['a', 'b', 'c'], 5]
c = [1, 2, 3, 4, ['a', 'b', 'c']]
d = [1, 2, 3, 4, ['a', 'b']]
python中如何拷贝一个对象_python题目-----Python里面如何拷贝一个对象?相关推荐
- python中的文件处理_python学习——python中的文件处理
python对文件的处理. python对文件的处理的两个内建函数: open().file(),这个两函数提供了初始化输入\输出(I\O)操作的通用接口.两函数的功能相同. 基本用法: file_o ...
- python中from import用法_python学习--Python之import与from...import的区别与用法
Python编码第一步是导入模块,有时候用import ***有时候用from...import,它们有什么区别呢,请看实例A/B: A: 1.当模块test.py中没有类,只有方法add,此方法实现 ...
- 在python中模块可以封装_python 制作python包,封装成可用模块教程
首先编写py程序: printtest.py def test(): print('print test') 将以上.py文件做成python模块,需要在相同目录下创建setup.py文件,setup ...
- python中的元类_Python中的元类(metaclass)
提问者自称已经掌握了有关Python OOP编程中的各种概念,但始终觉得元类(metaclass)难以理解.他知道这肯定和自身有关,但仍然觉得不太明白,希望大家可以给出一些实际的例子和代码片段以帮助理 ...
- python中strip的用法_Python中你不知道的strip()函数的妙用
[开胃小菜] 当提到python中strip方法,想必凡接触过python的同行都知道它主要用来切除空格.有以下两种方法来实现. 方法一:用内置函数if name == 'main' : str = ...
- python中csv文件操作_python中操作csv文件
python中操作csv文件 读取csv improt csv f = csv.reader(open("文件路径","r")) for i in f: pri ...
- python中变量怎么定义_python中的变量的使用定义以及使用规则
本篇包括14章内容,系统介绍了Python语言的基础知识.内容包括Python基础语法.数据类型和类型转换.运算符.流程控制(分支结构循环结构).数据结构(列表生成式).函数的定义及使用.异常处理.迭 ...
- python中占位符包括_python中占位符
python如何在一个字符串中使用两个占位符 1. 使用连接符: + 12 world = "World"print "Hello " + world + &q ...
- python中list的意思_python中的list是什么
python中的list是什么? Python 列表(List) 序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. ...
最新文章
- iOS:quartz2D绘图(给图形绘制阴影)
- 龙岗网络推广浅析更新频率对网站优化有哪些影响?
- dailykt爬取tushare 数据存入本地mysql
- Gluon.vision的几类数据集
- python mysqldb安装_解决centos7 安装MySQLdb-python 报错 方案
- checkbox 实例
- Socket API: I/O函数recvmsg()与sendmsg()
- 如何排查mysql数据乱码_如何解决MYSQL数据库中文乱码问题?
- Liferay7 BPM门户开发之38: OSGi模块化Bndtools、Maven、Gradle开发构建入门
- Atitit mybatis快速开发 的sql api接口
- 乐高机器人巡线C语言程序,乐高机器人巡线原理.doc
- 计算机键盘上fn键,键盘上的fn键有什么用?笔记本电脑键盘上的fn键作用大全
- 业务部门战略规划与支撑部门战略规划
- ubuntu 20.04 耳机没有声音
- 润乾报表数据集中参数和宏的使用方法
- 安卓webview和h5交互
- 为什么梦幻西游服务器名字有显示但是区名字没有了,梦幻西游:三月份的第一个新区注定要变鬼,从名字就能看得出来...
- 采药问题 c语言程序,采药问题为什么不能ac(内附代码)
- 银联在线支付对接流程以及签名算法
- “新恒大”的几个“万亿未来”