【Python】第十三部分 类的浅拷贝和深拷贝

Python 基础教学 Python零基础入门课件摘要 Python是一门以可读性为核心的编程语言,语法接近自然语言,适合初学者。本文档为零基础学习者提供系统教程,涵盖以下核心内容: 基础概念 安装与运行 官网下载Python,勾选Add Python to PATH。 两种运行方式:交互式环境(即时调试)和脚本文件(.py文件)。 变量与数据类型 动态类型:变量无需声明类型,直接赋值(如 name = "张三")。 基本类型:整数(int)、浮点数(float)、字符串(str)、布尔值(bool)、None 阅读详情

【Python】第十三部分 类的浅拷贝和深拷贝



13. 类的浅拷贝和深拷贝

13.1 变量的赋值操作

# 变量的赋值操作
# 只是形成一个新的变量,实际上指向的还是同一个对象
class Person:
    pass


person = Person()
person1 = person
# 指向的都是同一个地址
print(id(person))  # 2769139079656
print(id(person1))  # 2769139079656


13.2 浅拷贝

"""
    Person拷贝一般都是浅拷贝,拷贝的时候,源对象包含的子对象内容
    不进行拷贝,因此源对象与拷贝的对象都会引用同一个子对象(相同的地址)
"""


class Compute:
    def __init__(self, cpu, disk):
        self.cpu = cpu
        self.disk = disk


class Cpu:
    pass


class Disk:
    pass


import copy

cpu = Cpu()
disk = Disk()
compute1 = Compute(cpu, disk)
compute2 = copy.copy(compute1)
# 3053644488544 3053644488320 3053644488376
print(id(compute1), id(compute1.cpu), id(compute1.disk))

# 3053644528216 3053644488320 3053644488376
print(id(compute2), id(compute2.cpu), id(compute2.disk))



13.3 深拷贝

"""
    使用copy模块中的deepcopy函数,递归拷贝源对象中包含的子对象,
    源对象和拷贝对象所有的子对象地址都不同
"""


class Phone:
    def __init__(self, card, line):
        self.card = card
        self.line = line


class Card:
    pass


class Line:
    pass


line = Line()
card = Card()
phone1 = Phone(card, line)

phone2 = copy.deepcopy(phone1)

# 2070089480680 2070089479168 2070089479112
print(id(phone1), id(phone1.card), id(phone1.line))

# 2070089480960 2070089481128 2070089481240
print(id(phone2), id(phone2.card), id(phone2.line))


总结

以上就是今天要讲的内容,希望对大家有所帮助!!!

3天干完6个月的活,Claude把模型搬上AMD 一条挺刺激的消息:Anthropic 给投资人的材料里有一张幻灯片,写着它的 Claude Mythos Preview 只花了大约​,就摸清了怎么让另一个 Claude 模型在 AMD 的 MI355X 上跑起来。同一处还写了个对照数字:过去给一块新芯片做推理适配,通常要几十名工程师、​。3 天对 6 个月,这个比值太扎眼,当天中文互联网上就冒出一堆「英伟达的护城河塌了」的说法。我把能翻到的材料都翻了一遍,越看越觉得,塌掉的那一小块是真的,可塌的位置和很多人想的不一样。 阅读详情

相关推荐

如何处理动态语言(Python / JS)的“隐形”调用链?

本文揭示动态语言(Python/JS)中静态AST解析导致调用链“断链”的核心问题,提出通过运行时追踪补全图谱的解决方案。基于Code-Graph-RAG的cgr trace机制,分别利用pytest插件与V8 Profiler捕获真实调用路径,将动态边合并至静态图谱,并在权重体系中提升动态边优先级。实践表明,该方法可显著提升图谱覆盖率,实现“结构+行为”双视角理解代码,为MCP与Rerank系统提供可靠支持。

xianyinsuifeng的博客 418

小白不看都能懂 —— Python之真功夫系列(全章)

小白不看都能懂——Python之真功夫系列(全章) 全章小白不看都能懂——Python之真功夫系列(全章)前言一、编程基础概念二、字符串三、序列四、控制语句五、函数的用法和底层分析六、面向对象初步七、面向对象进阶总结 前言 一、编程基础概念 第一式:缩进_行注释_段注释 第二式:对象_引用_标识符 第三式:变量的声明_初始化_删除变量_垃圾回收机制 第四式:链式赋值_系列解包赋值_常量 第五式:内置数据类型_基本算术运算符 第六式:整数_不同进制_其他类型转换成整数 第七式:浮点数_自动转换_强制转

成长的Offer 9938

hpm6750evk2开发板(四)TCP回送(1000M网口)

再接下来我们修改代码,先找到配置网速的地方,肯定是在enet的初始化函数里面,我们一个函数一个函数找,也可以用单步调试一步一步找,结果发现是在enet_init函数里面调用的rtl8211_basic_mode_default_config函数配置网速的,我们把enet_phy_port_speed_100mbps改为enet_phy_port_speed_1000mbps,重新编译运行试试。首先我们复制一份lwip_tcpecho代码,重命名为lwip_tcpecho_RGMII,如下图所示。

Silas1750的博客 922

《精通Python自动化编程》读书笔记

本文仅供作者自己复习Python知识点、与书籍推荐使用。 1 书籍的简单介绍 首先简单的介绍一下这本书,作者黄永祥,书的内容很全面,适合有一定编程基础的朋友上手Python或者复习Python的基础语法,书中也有一小部分错误。当然有一点需要注意的就是,一本书不一定需要全部读完,只需要看你需要的部分即可。 接下来介绍一下书的目录: 第一章 构建开发环境 第二章 基础语法 第三章 数据类型 第四章 元组和列表 第五章 集合和字典 第六章 流程控制语句 第七章 函数 第八章 面向对象编程

m0_47999704的博客 1329

Linux下CUDA 11.8与vllm的完美搭配:从环境配置到避坑指南

本文详细介绍了在Linux系统中为CUDA 11.8环境部署vLLM的完整实战指南。针对cu118与vLLM的版本兼容性核心问题,提供了从Python、PyTorch版本选择,到关键依赖vllm-nccl-cu11的安装避坑,以及环境调优、生产级容器化部署的全面解决方案,帮助开发者高效构建稳定的大模型推理服务。

weixin_29095049的博客 308

[Unity实战]热更新如何预防过度裁剪

假设你现在有一个游戏客户端,客户端只打包了入口场景,游戏场景都存放在了AB包。

u012587406的博客 1605

Python背记手册让我拿到了华为OD的Offer(附面经和文档)

感觉自己有点倒霉,看到的面经基本都是聊天式面试,问一些基本情况、意愿,但到我这里变成了压力面,刚开始问了一下基本问题,后面就问自己为转行做的准备、自己是否真的准备好了,是否能够接受未来面对的压力等等,问题前后相扣,感觉当时面完后心态有点崩。

ccn1017的博客 2972

微信小游戏审核避坑指南:如何一次性通过微信审核(附最新审核要求)

本文详细解析微信小游戏审核全流程,提供从开发到上线的关键策略,帮助开发者一次性通过审核。涵盖合规性自查、材料优化、开发环境配置、版本管理、审核材料填写技巧等核心内容,并附最新审核要求和常见驳回问题解决方案,显著提升审核通过率。

weixin_28454475的博客 1411

流畅的python 阅读笔记

流畅的python阅读笔记(未完结)

翻车的博客 4107

浅谈声发射振动复合传感器

浅谈声发射振动复合传感器 随着全球经济和自动化工业的迅速发展,人们对设备故障特别是轴承类的故障诊断也日益重视起来了。 为满足客户对旋转仪器轴承异常的精准诊断,单一的依靠振动信号或声信号分析,是很难兼顾轴承的多种异常情况的。 为此,市面上开始着手研发出了可同时分析机械设备的振动信号和声信号的复合型传感器。 初期的复合型传感器主要有 2 种类型,下面以 A、B 来举例说明。 A 型是在被测物表面不同的 2 个位置分别放置声发射(AE)传感器和加速度(ACC)传感器,它虽能一定程度...

pxtech的博客 1152

基于深度学习的电力系统暂态稳定评估与预防控制复现

本文复现了基于深度学习的电力系统暂态稳定评估与预防控制方法。主要内容包括:(1)数据预处理环节,对IEEE 39节点系统的电压幅值、相角等特征数据进行归一化处理;(2)ACNGAT模型实现,该模型结合时间卷积网络(TCN)和图注意力网络(GAT)提取时空特征;(3)采用改进的帝企鹅优化算法进行预防控制。关键技术点包括:融合时空信息的特征提取、改进的邻接矩阵构建方法(λ_ij = E_i * E_j * B_ij)以及时空注意力机制。代码实现采用Python和PyTorch框架。

huanghm88的专栏 336

蓝桥杯Python B组高分攻略:从算法基础到工程思维的实战进阶

在编程竞赛和算法学习中,掌握核心算法与数据结构是构建解决方案的基石。动态规划、深度优先搜索(DFS)、广度优先搜索(BFS)等经典算法,其原理在于通过状态定义、转移方程或系统化的搜索策略来高效解决问题。这些技术的价值在于能将复杂问题模块化,提升代码执行效率与逻辑清晰度。在实际应用场景中,如蓝桥杯等竞赛或软件开发中的优化任务,往往需要将算法思维与工程实践紧密结合,处理文件I/O、数据模拟、边界条件等具体实现细节。本文聚焦于Python在算法竞赛中的高效应用,深入探讨如何通过系统训练形成解题的“肌肉记忆”,并规

weixin_34262482的博客 493

基于Harness Engineering构建AI Agent的全自动化CI_CD流水线

AI Agent的CI/CD是指对Agent的全生命周期资产(代码、Prompt、RAG知识库、模型权重、工具配置)进行持续集成、持续测试、持续发布和持续观测的自动化流程,核心目标是在保障发布质量的前提下,最大化提升Agent的迭代效率。

AI云原生与云计算技术学院 625

本地化部署 DeepSeek,构建单细胞与空间转录组 AI 分析平台

本地化部署 DeepSeek,构建单细胞与空间转录组 AI 分析平台

weixin_53637133的博客 161

NVIDIA Omniverse 技术浅析(二):USD

例如,一个用户可以负责场景的几何体设计,另一个用户可以负责材质和灯光的调整。USD 的开放性和可扩展性,结合 Omniverse 的 Kit 扩展框架,使得用户和开发者可以创建自定义的应用程序和工具,以满足特定的需求。USD 的材质和物理属性系统,结合 Omniverse 的 RTX 实时渲染技术,使得用户可以在虚拟环境中看到逼真的光影效果和物理模拟。USD 的时间轴和动画功能,结合 Omniverse 的物理属性系统,使得用户可以为虚拟环境中的元素创建复杂的动画和物理模拟。

m0_75253143的博客 446

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

AI全栈实战 | 3.9-01 爬虫入门:requests 加 BeautifulSoup 三分钟跑通,但 90% 的人栽在这 4 个“礼貌“问题上

⚠️:本文内容仅用于。请遵守目标站点的服务条款与相关法律法规,不得对目标服务造成负担,不得采集、传播个人隐私数据。技术是中性的,边界在你手里。爬虫的入门技术(requests 发请求 + BeautifulSoup 解析)三分钟就能学会。真正区分"会用爬虫"和"会做爬虫的人"的,是这篇我们跑通"请求→解析→存储"的最小闭环,然后重点把"合规与礼貌"这根弦给你绷上。

源码获取 | 运行部署 | 定制二开修改,如果回复不及时请耐心等待,请见谅。 423

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

从一段视频到可漫游的 4D 有声场景:思路拆解与最小复现手记

只需一段手机视频,你就能生成可"走进去"的 4D 有声场景:转头时狗叫声方向随之变化,走近时声音更清晰。本文拆解 Video-to-4DAVScene 的核心思路,手把手带你用几十行 Python 搭出最小管线,把视频中的运动物体变成带空间位置的声源,并附上三个真实踩坑的排障经验,代码可直接跑。🎧

helloagent的博客 239

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

【每天一个 Python 小案例30】Python 基础知识综合小项目:我的工具盒

作为系列收官,本篇把前 29 篇的知识点合成一个能直接用的命令行工具"我的工具盒":计算器(用 ast 解析表达式,不碰 eval)、单位换算与温度转换(一张换算表 + 特例分支)、记账与分类统计(Decimal + JSON 持久化)、以及用"字典当命令表"把菜单和业务逻辑解耦的主循环。文中对比了 eval 的安全隐患与 ast 白名单的做法,解释了 lambda 闭包在字典里的写法与晚绑定陷阱,并在最后给出整个系列的知识地图,把变量、数据结构、控制流、函数、类、异常、文件、标准库八块内容对应到具体篇目。

xinjiyaya的博客 427

yolo 和 deft 算法的区别

你应该是打错了:是,不是 defrat;

曾大强博客 252

10分钟完成第一个Python小游戏

第一个项目不用找复杂的,‌直接选「猜数字小游戏」对应的教程‌就好——几乎所有入门教程都会讲这个项目,资料最多、遇到问题随便搜就能找到解决方法,不会卡壳,30分钟肯定能做完,非常容易建立信心。‌教程链接‌:直接搜标题👉 ‌《Python零基础入门项目:30分钟写完猜数字游戏》‌(优先选黑马程序员、鱼C-小甲鱼这两个UP主的版本,播放量都是百万级,口碑稳定)‌教程地址‌:打开菜鸟教程官网→找到「Python 实例」板块,直接在线写代码运行。全程不跳步,30分钟就能做完,做完能直接运行玩,成就感拉满。

mF44Job8l的博客 66

二进制木马免杀-Python 分离免杀与 Web 挂马

二进制木马免杀-Python 分离免杀与 Web 挂马

2503_94637398的博客 269

蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级 备考:莫队算法离线区间查询详解

备赛进行时:第十八届蓝桥杯软件赛报名已于 2026-10-08 10:00 开启、12-18 14:00 截止,省赛定在 2027-04-10(C/C++·Python 程序设计 9:00–13:00);中国电子学会 2026 年 12 月软件编程(C/C++ 一级至十级、Python 一级至六级)考级报名 9/23–12/2 16:00、统考 12-12;全国青少年信息素养大赛 2026—2027 赛季算法应用主题赛也已进入复盘练兵窗口。

IT_Scratch的博客 165

两张表合并之后,行数悄悄多了一倍

pandas merge 行数异常膨胀源于右表键不唯一,导致数据静默复制。实测显示,未聚合的右表(756行)与左表合并后行数增至504行,合计膨胀3.5倍,但无报错。validate 参数仅在检查键唯一性时有效,one_to_one 和 many_to_one 可拦截问题,但需结合 duplicated() 前置检查。正确做法为先按键聚合右表,再合并,避免重复。建议合并前后核对行数、合计,并使用 indicator=True 排查匹配情况,确保数据一致性。

patrickstar231的博客 150

我用 200 行代码写了个“代码屎山检测器“,扫完公司的老项目后我沉默了

这个工具不能帮你把屎山铲平,但至少能让你知道自己面对的是多大的山,也能在代码评审时用数据说话——“这个 PR 把圈复杂度从 12 推到了 18,能不能拆一下?毕竟,不能量化的东西,就没法改进。

xixiaoyunya的博客 251

智慧农业实战:育秧车间秧盘计数与苗情分级的Python实现

首先,建立统一的数据结构,保存每盘秧苗的编号、批次、覆盖度、叶色得分和播种天数。A = "壮苗"B = "合格苗"C = "弱苗"@dataclassdays: int。

荆棘鸟智能的博客 110
上一篇: 【Python】第十二部分 __new__和__init__分析它的创建流程
下一篇: 【Vue】针对路由跳转中编程式导航push和replace进行重写
Tree_wws
博客等级 码龄6年 1万+粉丝 185原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值