python浅拷贝 深拷贝
Python 变量 对象 引用
1.变量
变量第一次赋值时被创建,变量在使用前必须赋值
变量本身没有类型,变量类型为它引用的对象类型;
变量在使用时被替换成它引用的对象
2.对象
对象本身具有计数和类型,变量引用对象,当对象的引用变为0的时候,回收对象内存。但是类似INT等小类型对象,不一定立马回收它的内存。
修改指向同一个可变对象的任何一个变量,都会影响到指向的对象,也就是两个变量的值都会被修改。
复制代码
>>> l=[1,2,9]
>>> s= l
>>> s[0]=11
>>> s
[11, 2, 9]
>>> l
[11, 2, 9]
>>>
复制代码
可变对象之间的拷贝:
1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象。
2. copy.deepcopy 深拷贝 拷贝对象及其子对象
3.可以通过is 来判断2个对象是否是同一个
复制代码
import copy
a = [1, 2, 3, 4, ['a', 'b']] #原始对象
b = a #赋值,传对象的引用
c = copy.copy(a) #对象拷贝,浅拷贝
d = copy.deepcopy(a) #对象拷贝,深拷贝
a.append(5) #修改对象a
a[4].append('c') #修改对象a中的['a', 'b']数组对象
print('a= ',a)
print('b= ',b)
print('c= ',c)
print('d= ',d)
print('a is b', a is b)
print('a is c', a is c)
print('d is a', d is a)
复制代码
输出结果:
a= [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']]
a is b True
a is c False
d is a False
python浅拷贝 深拷贝相关推荐
- python浅拷贝深拷贝
copy_list=list[:] 得到的是浅拷贝,即只能顶层拷贝,里面的嵌套不会复制一份. a = [0, [1, 2], 3] b = a[:] a[0] = 8 a[1][1] = 9 请问现 ...
- Interview:算法岗位面试—10.11下午—上海某公司算法岗位(偏机器学习,互联网数字行业)技术面试考点之XGBoost的特点、python的可变不可变的数据类型、赋值浅拷贝深拷贝区别
ML岗位面试:10.11下午-上海某公司算法岗位(偏机器学习,互联网数字行业)技术面试考点之XGBoost的特点.python的可变不可变的数据类型.赋值浅拷贝深拷贝区别 Interview:算法岗位 ...
- Python中深拷贝与浅拷贝的区别?
往期面试题: 列举Python中的标准异常类? 说说Python面向对象三大特性? 说说Python中有几种数据类型? 说说Python模块主要分哪三类? 废话不多说,开始今天的题目: 问:说说Pyt ...
- Python 浅拷贝和深拷贝 - Python零基础入门教程
目录 一.Python 浅拷贝和深拷贝前言 二.Python 普通的变量赋值 三.Python 浅拷贝和深拷贝 1.Python 浅拷贝 copy 2.Python 深拷贝 deepcopy 3.Py ...
- Python浅拷贝与深拷贝
Python浅拷贝与深拷贝 Python中拷贝 Python中的赋值号=并不是真正的拷贝,这仅仅是一个引用.参照这篇博客 .必要的时候,我们需要复制值,而不是使用引用.Python中有两种方式:浅拷贝 ...
- 【从零学Python】深拷贝和浅拷贝、二维数组初始化
Python 的深拷贝和浅拷贝 直接赋值: 其实就是对象的引用(别名). 浅拷贝(copy): 拷贝父对象,不会拷贝对象的内部的子对象. 深拷贝(deepcopy): copy 模块的 deepcop ...
- python中深拷贝与浅拷贝的区别
####################python中的数据类型####################### ##########python中的数据类型有6种,分别为:数字类型如int,float ...
- 浅显易懂的浅拷贝深拷贝来了
1.基本数据类型,引用数据类型 说起深拷贝浅拷贝,必须先说数据类型.在拷贝数据的时候才能看出真正差异. 基本数据类型: string,number,boolean,undefined,null, 基本 ...
- Clone方法与浅拷贝深拷贝
Clone方法与浅拷贝&深拷贝 介绍 如何实现 浅拷贝 shallow copy 深拷贝 deep copy 数组中的clone 介绍 在Java中,如果需要创建一个对象的副本,特别是这个对象 ...
最新文章
- LBP特征学习(附python实现)
- access后台链接mysql_ASP.NET连接 Access数据库的几种方法
- 车间生产能耗管控方案_SAREN三仁净化工程:锂电池生产车间的设计规范及方案...
- QQuickRenderControl
- comparator接口_8000字长文让你彻底了解 Java 8 的 Lambda、函数式接口、Stream 用法和原理
- “false”类型转换:string类型转boolean - 代码篇
- Linux(debian7)错误集锦(二)之安装Gnome报错Failed to start unit user@1000.service
- MySQL时间段查询,无数据补0
- ROS语音识别科大讯飞语音SDK
- 压缩感知算法_【封面论文】基于压缩感知算法的无透镜数字全息成像研究
- python计算三角函数的计算器_一个工具箱 之 三角函数计算器
- CSAPP第八章家庭作业参考答案
- linux的ip是什么,Linux-IP地址后边加个/8(16,24,32)是什么意思?
- VUE设置浏览器标题及图标
- 如何修改jadx的默认内存
- From Word Embeddings To Document Distances论文总结
- Java工程师简历范文大学生,最全Java知识总结
- @Around简单使用示例——SpringAOP增强处理
- 2015浙江理工校赛A 孙壕请一盘青岛大虾呗(简单搜索)
- PHP重定向SEO,PHP类网站301重定向实战站长SEO必修课
热门文章
- 等待队列——休眠与唤醒
- 专题 6 目录文件编程
- mysql 移植 azure_初码-Azure系列-记一次MySQL数据库向Azure的迁移
- linux joe复制一行,Linux joe命令
- java的同步关键字_简单了解Java synchronized关键字同步
- xxl-job 执行结果是空_空指针,段错误,这场面试我栽倒在这里了!
- linux替换包的脚本,Andorid 自动替换logo打包脚本(支持windows和linux)
- html tfoot标签,HTML tfoot 标签
- 皮一皮:成人世界的潜台词...
- Grafana 6.4 正式发布!