博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python中的赋值、浅copy、深copy
阅读量:5168 次
发布时间:2019-06-13

本文共 475 字,大约阅读时间需要 1 分钟。

1.可变对象和不可变对象:

  • 不可变对象:数字(int,float, double)、字符串、元组(tuple)、function等
  • 可变对象:字典(dict)、列表(list)、集合(set)、程序自定义的对象

2.赋值:实质就是传引用。

对于不可变对象:b=a ,a改变后,b不改变,因为a的值为不可变对象,a的值改变后,会新开辟一个地址,存放a的新值,a指向这个新值。

对于可变对象:b=a,a改变,b也改变。

 

3.浅拷贝:只拷贝父对象,不拷贝子对象。b=copy.copy(a),改变a的父对象,b不变,改变a的子对象,b跟着改变。

import copy a=[1,2,3,[1,2]] b=copy.copy(a) a[0]=2 a[3].append(3) print(a) print(b)

[2, 2, 3, [1, 2, 3]]

[1, 2, 3, [1, 2, 3]]

4.深拷贝:父对象和子对象都拷贝,a和b随意怎么改变互不影响。

转载于:https://www.cnblogs.com/ck-24/p/9334211.html

你可能感兴趣的文章
陌上花开(三维偏序)(cdq分治)
查看>>
bzoj1036 count 树链剖分或LCT
查看>>
Vue生命周期钩子函数
查看>>
Activiti6.0 java项目框架 spring5 SSM 工作流引擎 审批流程
查看>>
Block的本质
查看>>
Pixel 3a 开箱及 Google Fi 服务评测视频
查看>>
用一个div模拟textarea的实现【前端每日一题-15】
查看>>
Python学习教程:爬虫分析了京东内衣销售记录,哪个size最多?
查看>>
有Excel、Tableau、PowerBI都能做数据分析,为什么还要用Python
查看>>
MYSQL索引和权限管理
查看>>
MYSQL语句和多表查询
查看>>
写一个微信和支付宝订单的查询方法:
查看>>
支付宝退款接口及反回参数
查看>>
mysql查询结果进行排名
查看>>
查询数据进行排名,一样的并列
查看>>
mysql查询结果插入另外一张表
查看>>
log4j日志输出配置
查看>>
java如何检测redis是否可用
查看>>
redis如何进行分库存储和选择模糊清除缓存
查看>>
spring security退出方法
查看>>