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,依此类推. ...
最新文章
- 企业IT架构转型是大势所趋
- 【每日训练】2020/11/8(规律 + 二进制、单调栈 + 前缀和,后缀和、bitset + 枚举)
- 如何把导航条做成sitefactory政府版的样子实现动态读取子栏目显示
- 美国空军开发新型机载网络技术
- Hasor【付诸实践 01】低代码框架 DataQL 聚合查询引擎 SQL执行器报错 Query dialect missing 原因分析及解决(针对GreenPlum数据库)
- matlab求傅里叶级数展开式_简单粗暴傅里叶级数
- vb.net mysql存储图片_怎么让VB.NET 上传图片到SQL 数据库只保存路径,图片保存到文件...
- matlab 转换图片格式,Matlab实现图片格式转换 pgm转jpg等
- 如何在XenDesktop中映射USB设备
- 力扣每日一刷-144,二叉树前序遍历-递归解法
- php curl登录,php curl保存登录信息 模拟登录
- Jenkins使用经验谈
- 用什么软件测试钢结构受力,钢结构平台承载力检测
- Python 之 字典(dict)的创建、字典生成式、复制添加更新删除、查询遍历比较等
- st语言 数组的常用方法_三菱ST语言编程中常用的函数/功能块使用方法
- 【编解码】从零开始写H264解码器(1) 总纲
- 如何让芯烨打印机支持打印二维码
- 基于pygame的自定义游戏《the box》
- 小米商城前端页面(静态)
- 525、Java工程师的进阶之路 -【 RocketMQ (二)】 2022.01.06