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浅拷贝 深拷贝相关推荐

  1. python浅拷贝深拷贝

    copy_list=list[:]  得到的是浅拷贝,即只能顶层拷贝,里面的嵌套不会复制一份. a = [0, [1, 2], 3] b = a[:] a[0] = 8 a[1][1] = 9 请问现 ...

  2. Interview:算法岗位面试—10.11下午—上海某公司算法岗位(偏机器学习,互联网数字行业)技术面试考点之XGBoost的特点、python的可变不可变的数据类型、赋值浅拷贝深拷贝区别

    ML岗位面试:10.11下午-上海某公司算法岗位(偏机器学习,互联网数字行业)技术面试考点之XGBoost的特点.python的可变不可变的数据类型.赋值浅拷贝深拷贝区别 Interview:算法岗位 ...

  3. Python中深拷贝与浅拷贝的区别?

    往期面试题: 列举Python中的标准异常类? 说说Python面向对象三大特性? 说说Python中有几种数据类型? 说说Python模块主要分哪三类? 废话不多说,开始今天的题目: 问:说说Pyt ...

  4. Python 浅拷贝和深拷贝 - Python零基础入门教程

    目录 一.Python 浅拷贝和深拷贝前言 二.Python 普通的变量赋值 三.Python 浅拷贝和深拷贝 1.Python 浅拷贝 copy 2.Python 深拷贝 deepcopy 3.Py ...

  5. Python浅拷贝与深拷贝

    Python浅拷贝与深拷贝 Python中拷贝 Python中的赋值号=并不是真正的拷贝,这仅仅是一个引用.参照这篇博客 .必要的时候,我们需要复制值,而不是使用引用.Python中有两种方式:浅拷贝 ...

  6. 【从零学Python】深拷贝和浅拷贝、二维数组初始化

    Python 的深拷贝和浅拷贝 直接赋值: 其实就是对象的引用(别名). 浅拷贝(copy): 拷贝父对象,不会拷贝对象的内部的子对象. 深拷贝(deepcopy): copy 模块的 deepcop ...

  7. python中深拷贝与浅拷贝的区别

    ####################python中的数据类型####################### ##########python中的数据类型有6种,分别为:数字类型如int,float ...

  8. 浅显易懂的浅拷贝深拷贝来了

    1.基本数据类型,引用数据类型 说起深拷贝浅拷贝,必须先说数据类型.在拷贝数据的时候才能看出真正差异. 基本数据类型: string,number,boolean,undefined,null, 基本 ...

  9. Clone方法与浅拷贝深拷贝

    Clone方法与浅拷贝&深拷贝 介绍 如何实现 浅拷贝 shallow copy 深拷贝 deep copy 数组中的clone 介绍 在Java中,如果需要创建一个对象的副本,特别是这个对象 ...

最新文章

  1. LBP特征学习(附python实现)
  2. access后台链接mysql_ASP.NET连接 Access数据库的几种方法
  3. 车间生产能耗管控方案_SAREN三仁净化工程:锂电池生产车间的设计规范及方案...
  4. QQuickRenderControl
  5. comparator接口_8000字长文让你彻底了解 Java 8 的 Lambda、函数式接口、Stream 用法和原理
  6. “false”类型转换:string类型转boolean - 代码篇
  7. Linux(debian7)错误集锦(二)之安装Gnome报错Failed to start unit user@1000.service
  8. MySQL时间段查询,无数据补0
  9. ROS语音识别科大讯飞语音SDK
  10. 压缩感知算法_【封面论文】基于压缩感知算法的无透镜数字全息成像研究
  11. python计算三角函数的计算器_一个工具箱 之 三角函数计算器
  12. CSAPP第八章家庭作业参考答案
  13. linux的ip是什么,Linux-IP地址后边加个/8(16,24,32)是什么意思?
  14. VUE设置浏览器标题及图标
  15. 如何修改jadx的默认内存
  16. From Word Embeddings To Document Distances论文总结
  17. Java工程师简历范文大学生,最全Java知识总结
  18. @Around简单使用示例——SpringAOP增强处理
  19. 2015浙江理工校赛A 孙壕请一盘青岛大虾呗(简单搜索)
  20. PHP重定向SEO,PHP类网站301重定向实战站长SEO必修课

热门文章

  1. 等待队列——休眠与唤醒
  2. 专题 6 目录文件编程
  3. mysql 移植 azure_初码-Azure系列-记一次MySQL数据库向Azure的迁移
  4. linux joe复制一行,Linux joe命令
  5. java的同步关键字_简单了解Java synchronized关键字同步
  6. xxl-job 执行结果是空_空指针,段错误,这场面试我栽倒在这里了!
  7. linux替换包的脚本,Andorid 自动替换logo打包脚本(支持windows和linux)
  8. html tfoot标签,HTML tfoot 标签
  9. 皮一皮:成人世界的潜台词...
  10. Grafana 6.4 正式发布!