【python入门】day16:类的赋值与浅深拷贝

C++进阶实战:从零实现String类,掌握动态内存与RAII核心 在C++编程中,动态内存管理是核心难点之一,它直接关系到程序的稳定性和性能。其原理在于程序运行时从堆中申请和释放内存,而RAII(资源获取即初始化)是C++管理资源的核心理念,通过对象的生命周期自动控制资源,有效防止内存泄漏。这项技术的价值在于能编写出更安全、高效的代码,尤其在需要频繁操作字符串或自定义容器的场景中。本文聚焦于通过亲手实现一个简化版String类,将动态内存管理、深拷贝、运算符重载等抽象概念转化为具体工程实践,帮助开发者深入理解C++面向对象与资源管理的精髓,从而夯实编程基础,提升解决实际问 阅读详情

类的赋值

在 Python 中,当使用赋值语句给一个列表(或其他数据类型)变量赋值时,实际上是给这个变量赋予了对这个列表的引用,而不是赋予了这个列表的值。这意味着,当这个列表在内存中的值发生改变时,所有引用该列表的变量都会受到影响。

在这里插入图片描述

类的浅拷贝

浅拷贝(shallow copy)是一种复制列表的方法,它创建一个新的列表对象,但是只复制了原列表中所有元素的引用,并没有创建新的对象作为副本。浅拷贝后得到的列表与原列表是两个独立的对象,但是它们中的元素却是指向同一个对象的。

具体来说,当使用 copy()函数或切片 [:]来进行浅拷贝时,对于不可变类型的元素(如数字、字符串等),会直接复制其值;而对于可变类型的元素(如列表、字典等),是复制其引用而不是副本,即新的元素引用与原列表相同的对象。

'''
变量的赋值操作
            只是形成两个变量,实际上还是指向同一个对象
浅拷贝:python拷贝一般都是浅拷贝,拷贝时,对象包含的子对象内容不拷贝,
       因此,源对象与拷贝对象都会引用同一个子对象(拷贝时,不拷贝子对象,拷贝后的对象同样引用所拷贝对象的子对象)
深拷贝:使用copy模块的deepcopy函数,递归拷贝对象中包含的子对象,源对象月拷贝对象所有的子对象也不相同
       (拷贝时将所拷贝对象的子对象也一起拷贝)
'''
class CPU:
    pass
class Disk:
    pass
class Computer():
    def __init__(self,cpu,disk):
        self.cpu=cpu
        self.disk=disk
#变量的赋值
cpu1=CPU()
cpu2=cpu1
print(cpu1,id(cpu1))
print(cpu2,id(cpu2))
#类的浅拷贝
disk=Disk()#创建硬盘的类对象
computer=Computer(cpu1,disk)#创建一个计算机类的对象
import copy
computer1=copy.copy(computer)
print(computer,id(computer),computer.cpu,computer.disk)
print(computer1,id(computer1),computer1.cpu,computer1.disk)
#深拷贝
computer3=copy.deepcopy(computer)
print(computer,id(computer),computer.cpu,computer.disk)
print(computer3,id(computer3),computer3.cpu,computer3.disk)

类名称加括号表示创建一个新的对象实例,没有括号则表示引用已经定义的类。
如,类Cpu后加括号表示创建一个Cpu对象实例,类Disk后没有括号则表示引用了已经定义的Disk类。

在这里插入图片描述

深拷贝

深浅拷贝的区别

浅拷贝会创建一个新的对象,但这个新对象仍然指向原始对象中子对象的引用。因此,如果原始对象中的子对象被修改,那么浅拷贝的对象也会受到影响。
在这里插入图片描述
而深拷贝则会创建一个新的对象(地址不同),这个新对象完全独立于原始对象,因此对其进行修改不会影响原始对象。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

print('---------------深拷贝-----------------------')
import  copy
computer3 = copy.deepcopy(computer)
print(computer, computer.cpu, computer.disk)
print(computer3, computer3.cpu, computer3.disk)

【复习】温故而知新

__new__和__init__创建对象的过程

在这里插入图片描述

特殊方法和属性

在这里插入图片描述

多态

在这里插入图片描述
在这里插入图片描述

object 类

在这里插入图片描述

方法重写

在这里插入图片描述

单继承

在这里插入图片描述

多继承

在这里插入图片描述

封装

在这里插入图片描述

【代码】获取高级行情数据,并通过 qmt 进行实际下单交易,自动实现止盈止损管理 阅读详情

相关推荐

tmux + Claude Code 远程开发指南:从 WSL 配置到断线无忧

远程开发中,SSH 连接中断常导致后台任务丢失,这是困扰开发者的经典难题。tmux 作为终端复用器,通过将进程挂在常驻会话中,使其脱离 SSH 连接独立运行,从根本上解决了断线导致的任务终止问题。Claude Code 等 AI 编程代理需要长时间运行并保持交互上下文,恰好依赖这种会话持久化能力。结合 Windows Subsystem for Linux 提供类 Unix 环境,开发者可在 Windows 上实现稳定的远程开发工作流。本文将完整介绍从 WSL 环境配置、tmux 会话管理,到与 Claud

weixin_30423065的博客 348

python怎么给类属性赋值 python 类属性

当通过实例对象.属性名 = 属性值的方式绑定属性时,这里的属性只表示实例属性(因为类属性没有这样的绑定方式),所以,只会查找指定的实例对象有没有绑定指定名称的实例属性,如果没有则进行绑定,如果已经绑定则对属性值进行修改。的方式访问属性时,会先查找指定的实例对象中有没有指定名称的实例属性,如果没有在查找对应的类对象中有没有指定名称的类属性。类对象的所有实例对象都有一个指向类对象的指针,所以类对象的所有实例对象都可以访问类属性。的方式访问属性时,如果实例属性和类属性同名,实例属性会屏蔽掉类属性。

sunxiaopengsun的专栏 1204

三极管特性曲线看不懂?手把手教你用Multisim仿真分析放大电路频率响应

本文针对模拟电路初学者,详细讲解如何利用Multisim软件进行电路仿真,将抽象的三极管特性曲线与放大电路频率响应分析变得直观可视。通过手把手教学,指导读者从导入三极管SPICE模型、仿真输出特性曲线,到分析动态工作点,最终使用波特图仪深入分析频率响应并进行补偿设计,有效帮助理解电路原理并指导实践调试。

weixin_29230059的博客 122

Python 类的赋值与浅拷贝

类的赋值与浅拷贝 一、变量的赋值操作 只是形成两个变量,实际上还是指向同一个对象,即将A变量赋值给B变量,这两个变量指向的是同一个对象,只是变量名称不一样 代码举例: '''变量的赋值操作''' class CPU: pass class Disk: pass class Computer: def __init__(self,cpu,disk): self.cpu=cpu self.disk=disk #变量的赋值 cpu1=CPU(

liying5320的博客 2298

Unity安卓打包实战:SDK与JDK配置全攻略

本文详细介绍了Unity安卓打包过程中SDK与JDK的配置方法,包括工具下载、安装步骤、环境变量设置及常见错误排查。通过实战指南帮助开发者快速完成Unity安卓打包环境搭建,提升开发效率。

weixin_30338481的博客 415

DINOv2 基于自定义数据集进行图片分类预测

(前提是安装好pytorch)1. pip安装2. 下载dinov2提供的预训练模型,需要自行前往网站上查找dinov2模型进行下载。模型需要下载三个文件:下载完成后将上述三个文件放置在本地一个名为dinov2_base的文件夹中即可。

sinat_34770838的博客 6665

09_Python基础_Python类与对象

Python类与对象 类与对象是面向对象中的重要概念,面向对象是一种编程思想,也就是尽量模拟按现实世界的思维方式构建件系统。 如,真实世界里有学生和老师,学生有学号、姓名、所在学院等属性(数据),还有学习、吃饭、研究课题等动作(方法),那么我们在构建软件系统学生管理系统时,就会有学生类(用来定义学生的数据与方法),也会有张同学、李同学一个一个学生的个体,这些一个一个具体的个体,被称为“对象”,“对象”也被称为“实例”。 一、定义类 在Python中数据...

advent86的专栏 641

基于74LS175的四人抢答电路设计(含详细设计分析及试错过程)

根据设计要求不难发现,只要有一人抢答,就会输出信号使指示灯常亮,此时其他人输入无效,适宜选择触发器,有人抢答时触发器输出由0变1,输出信号控制指示灯常亮,同时使CLR引脚输入0,触发器不工作,即其他选手不能再抢答。尝试加入一人抢答后其他人不可抢答功能,如下图,175四个~Q输出端接入同一个与非门,于是当有选手抢答时该与非门输出由0变1,将该信号输入U5A,U5A输出由1变0,接入~CLR即可使电路不再工作。但仿真时发现,该复位键仅可使抢答电路部分复位,计数部分只是暂停,并未复位。否则元器件将无法正常工作。

2202_75463653的博客 8188

Python的赋值操作

Python的赋值操作 链式赋值用于同一个对象赋值给多个变量分析-》=具有右结合性-》首先z=1表示将1赋值给z,同时z=1这个子表达式的值也是1-》y=z=1表示将z=1的值赋给y,因此y的值也是1,y=z=1子表达式的值为1-》以此类推,a的值也是1。 多元赋值: 增量/减量/乘量/除量 赋值 解压赋值 非法赋值语句 ..................

m1992222的博客 1万+

YOLOv13改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进

1️⃣ 已更新种不同的改进方案,专栏内的每篇文章皆,均可顺利运行。2️⃣ 订阅专栏即可进群获取以及从的各种答疑内容。3️⃣ 全新的YOLOv13改进专栏,,只为更好的满足论文发表的要求。专栏内容,专栏实时评分,全网最高,质量保证。🎫。。

Limiiiing的博客 9145

实战六十四:基于机器学习朴素贝叶斯的豆瓣Top250影评的情感分析与预测 附完整源码和数据

实战六十四:基于机器学习朴素贝叶斯的豆瓣Top250影评的情感分析与预测 附完整源码和数据

1563

python的赋值操作浅析

python中Numbers(数字),String(字符串),List(列表),Tuple(元组),Dictionary(字典),Set(集合)赋值操作,传参分析

weixin_46359183的博客 2311

k8s 不同node之间pod ip不通

底层k8s使用calico网络,ipip网络模式,kubevirt启动了2台虚拟机;在这两台虚拟机上再搭建k8s,calico网络,ipip网络模式。说明:我是使用helm安装的calico,改这个模式要改crd资源ippools。其他方式安装的calico修改方法可能不一样。在虚拟机上的k8s上启动了2个pod,分布在不同的node上,这两个pod不能ping通对方的pod ip。修改虚拟机之上的k8s集群的calico网络的ipipMode为Never即可,之前使用的是Always。

weixin_40548182的博客 4056

python3 完全理解赋值,浅copy,深copy 通过地址详细理解~

额。。。老规矩,先来一天NLP再说,也没几条了。 十,在任何一个系统里,最灵活的部分是最能影响大局的部分 灵活便是有一个以上的选择,选择便是能力,因此最灵活的人便是最有能力的人。 灵活来自减少只相信自己的一套信念,价值和规条,而多凭借观察运用环境所提供的其他条件。 灵活是使事情更快有效的的重要因素,因此,亦是人生成功快乐的重要因素。 灵活亦是自信的表现,自信越不...

226

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

python给矩阵赋值_python给矩阵赋值

广告关闭腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元!python的numpy创造矩阵from numpy import matimport numpy asnpdata1=mat(zeros((3,3))); #创建一个3*3的零矩阵,矩阵这里zeros函数的参数是一个tuple类型(3,3)data2=mat(ones((2,4))...

weixin_39608398的博客 1万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Python基础学习简记--深浅拷贝(Day16)

Python基础学习简记–赋值与深浅拷贝(Day16) 深浅拷贝的问题是python的一个重点知识,我们来总结一下赋值与深浅拷贝的具体区别。 1、定义 赋值:python中的赋值其实就是对象的引用。也就是从变量到对象的一个指针。 浅拷贝:copy.copy()只拷贝最外层的对象本身,内层的元素只是拷贝了一个引用。 深拷贝:copy.deepcopy()从外到内的元素都进行了一次拷贝,得到了一个完全...

weixin_39344224的博客 251

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

day16 阶段总结

day16 阶段总结 版权声明:本博客转载自路飞学城Python全栈开发培训课件,仅用于学习之用,严禁用于商业用途,未经授权,严禁转载。 欢迎访问路飞学城官网:https://www.luffycity.com/ 课程目标:对第二模块 “函数和模块” 阶段的知识点进行总结和考试,让学员更好的掌握此模块的相关知识。 课程概要: 知识补充 阶段总结(思维导图) 考试题 1.知识补充 1.1 nolocal关键字 在之前的课程中,我们学过global关键字。 name = 'root' def oute

mannixiang的博客 247

模块二 day16 阶段总结

day16 阶段总结 课程目标:对第二模块 “函数和模块” 阶段的知识点进行总结和考试,让学员更好的掌握此模块的相关知识。 课程概要: 知识补充 阶段总结(思维导图) 考试题 1.知识补充 1.1 nolocal关键字 在之前的课程中,我们学过global关键字。 name = 'root' def outer(): name = "武沛齐" def inner(): global name name = 123 inner()

qq_41383195的博客 226

python的学习之路day3

大纲 1、汉字编码 2、浅拷贝与深拷贝 3、函数 4、return 5、函数的基本参数 6、format 7、三元运算(三目运算) 8、python的内置函数 abs()  all()  any()  bool()  bin()  oct()  hex() bytes() callable() ord()  chr() compile()  exec()  ev...

aiyu2210的博客 154

Python基础刻意训练——DAY6

Python基础刻意训练——DAY6 学习内容 主要内容:字典与集合 1)字典: python的字典称为键(key),单词对应的含义称为值(value)----在其他地方也可以称为哈希----python中唯一的映射(一对一,一对多) 创建字典: 创建空字典    dict1={} 创建对应关系的字典   dict1={‘123’:‘jjojo’,‘16’:‘sjskks’,‘sjks’:...

weixin_43873644的博客 219

05 元组 (8.13day04 一节)

""" 变量:     id: 在内存中存储的位置;id(a)     value: ==     type:变量的数据类型; type(a) ==: value, type is: 三个都判断 ** a is b ====> True, a==b一定相等, 返回True; ** a==b ====> True, a is b 不一定; PyDev console: star...

zhangyubo114285的博客 409

python的celery的面试_python面试基础题总结

13.常用的 Python 标准库都有哪些?答:os操作系统,time时间,random随机,pymysql连接数据库,threading线程,multiprocessing进程,queue队列。第三方库:django和flask也是第三方库,requests,virtualenv,selenium,scrapy,xadmin,celery,re,hashlib,md5。常用科学计算库:Numpy...

weixin_39977886的博客 1389

轩小陌的Python笔记-day16 模块二总结

day16 阶段总结 课程目标:对第二模块 “函数和模块” 阶段的知识点进行总结。 课程概要: 知识补充 阶段总结(思维导图) 1. 知识补充 1.1 nolocal关键字 在之前的内容中,我们讲解过 global 关键字: name = 'root' def outer(): name = "轩小陌" def inner(): global name name = 123 inner() print(name) outer()

hjjqazwsx的博客 767

Python 学习记录-list类方法补充 Day9

<1>clear() #清空列表 li=[11,22,33] li.clear() print(li) [] 拷贝前的知识点补充: li1=[11,22,33] li2=li1 print(li1,li2) 输出结果: [11, 22, 33] [11, 22, 33] <2> <3> <4> <5> <6> <7> <8> <9> <10> <11> <12&

yhy779169750的博客 329

Day 018 Python提高

在Python基础的基础上,需要进一步了解,深浅拷贝,私有化,import导入模块,再议封装,继承,多态,多继承以及MRO顺序,再议静态方法,类方法,propety属性,魔法方法,面向对象设计,with与“上下文管理器”。 深浅拷贝 深浅拷贝是指对一个对象的拷贝程度,深拷贝指拷贝的程度多一些,浅拷贝指拷贝的程度少一些 讨论深浅拷贝需要同时考虑数据的层数和数据的类型(可变/不可变) 使用深浅拷...

小孟先森的博客 311
上一篇: 今天鸽了,去看了泰勒的时代巡回演唱会电影,无以言表,只有今夜完美无瑕
下一篇: 【python入门】day17:模块化编程、math库常见函数
Next2you
博客等级 码龄7年 1238粉丝 166原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Next2you

你真帅!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值