python深拷贝和浅拷贝

本文深入探讨Python中列表的直接赋值、浅拷贝及深拷贝的区别,通过实例演示不同拷贝方式下对象引用的变化,揭示拷贝机制对编程的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题的起因是面试时被问到
list1=[1,2,3,4]
list2=list1
list1.append(5)
list2的值?

感觉考的是深拷贝和浅拷贝的知识,特此记录

list1=[1,2,3,4,5,]
list2=list1
list1.append(10)
print("list1:",list1)
print("list2:",list2)

在这里插入图片描述
直接赋值:其实就是对象的引用;
list1 和list2就是同一块地址的两个引用。

深拷贝和浅拷贝的区别:
深拷贝和浅拷贝都是对象的拷贝,都会生成一个看起来相同的对象,但是他们的本质区别是拷贝出来的对象地址是否和原对象一样,即是地址的复制还是值的复制的区别。

list1=[1,2,3,4,5,{"szs":1},6,7]
list2=list1
list3=list1.copy()
list4=copy.deepcopy(list1)
list1[5]["kd"]=2
print("list1:",list1)
print("list2:",list2)
print("list3:",list3)  
print("list4:",list4)

在这里插入图片描述

print("id(list1):",id(list1))
print("id(list2):",id(list2))
print("id(list3):",id(list3))
print("id(list4):",id(list4))

在这里插入图片描述

print("id(list1[5]):",id(list1[5]))
print("id(list3[5]):",id(list3[5]))
print("id(list4[5]):",id(list4[5]))

在这里插入图片描述

可以看出list1和list2都指向同一块地址,
浅拷贝list3和list1是俩个独立的对象,但是其子对象还是指向同一对象
深拷贝list4完全拷贝了父对象和其子对象,两者是完全独立的。

赋值: python中,对象的赋值就是简单的对象引用
浅拷贝: 浅拷贝会创建对象,其内容不是对原对象本身的引用,而是对原对象内第一层对象的引用
深拷贝
深拷贝的实现由copy模块中的deepcopy()函数。深拷贝拷贝了对象的所有元素,包括多层嵌套的元素。

注意:
对于非容器类型,如数字,字符,以及其他的原子类型,没有拷贝一说,产生的都是原对象的引用;

标题基于SpringBoot的计算思维与人工智能学习网站设计与实现AI更换标题第1章引言介绍计算思维与人工智能学习网站的研究背景、意义、国内外现状以及论文方法创新点。1.1研究背景与意义阐述计算思维与人工智能教育的重要性及网站建设的必要性。1.2国内外研究现状分析国内外计算思维与人工智能学习网站的发展现状。1.3研究方法及创新点简述论文采用的研究方法及网站设计的创新之处。第2章相关理论总结计算思维、人工智能及网站开发相关理论,为研究提供理论基础。2.1计算思维理论概述介绍计算思维的基本概念、核心要素及应用领域。2.2人工智能基础理论阐述人工智能的基本原理、关键技术及发展趋势。2.3网站开发技术基础概述SpringBoot框架、前端技术及数据库技术等相关知识。第3章网站设计详细介绍基于SpringBoot的计算思维与人工智能学习网站的设计方案。3.1网站架构设计网站的整体架构,包括前端、后端及数据库设计。3.2功能模块设计阐述网站各功能模块的设计,如用户管理、课程学习、在线测试等。3.3数据库设计介绍数据库的设计思路,包括表结构、关系及索引设计等。第4章网站实现阐述基于SpringBoot的计算思维与人工智能学习网站的具体实现过程。4.1开发环境搭建介绍开发所需的软件、硬件环境及配置步骤。4.2关键技术实现详述SpringBoot框架的集成、前后端交互及数据库操作等关键技术的实现。4.3网站测试与优化网站测试的方法、过程及优化策略,确保网站稳定运行。第5章研究结果与分析呈现网站设计与实现后的效果,通过用户反馈、数据统计等方式进行分析。5.1用户反馈分析收集并分析用户对网站的反馈意见,评估网站的用户体验。5.2数据统计与分析统计网站访问量、用户活跃度等数据,分析网站的使用情况。5.3对比方法分析将本网站与其他类似网站进行对比分析,突出本网站的特色优势。第6章结论与展望总结网
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值