Python中的可变变量与不可变变量
python中的可变与不可变变量
一、变量的三个参数
就像区分一个人一样,同样都是张三,可能这个张三就不是那个张三。同一个变量是指的什么相同呢?
Python中的对象包含三个要素,id(内存地址),type(数据类型),value(数据值)。
像如下的赋值实际上是把变量a的指针指向了5的内存地址,打印可以看到a的内存地址和5的内存地址是一样的。
a = 5
print(id(a),id(5))
输出结果为:
2086689663408 2086689663408
注意:
==是比较操作符,用来判断两个对象是否相等,value(值)作为判断依据
is是同一性运算符,比较判断两个对象是否相同,id(内存地址)作为判断因素
二、数据类型的两种分类
Python中变量可分为可变变量和不可变变量。
1. 可变变量
定义:当变量在内存中分配地址之后,可以使用方法来改变变量的值,而不改变该变量原有的地址
可变类型有List(列表)、Dict(字典)、Set(集合)。
下面,我们可以来看一个例子:
a = [1, 2, 3, 4]
print(a, id(a))
a.append(5)
print(a, id(a))
输出结果为:
[1, 2, 3, 4] 2694449916800
[1, 2, 3, 4, 5] 2694449916800
可以看到,虽然变量a的值发生变化,但是a的地址没有发生变化。
2.不可变变量
定义:当内容发生修改,计算机重新分配一块内存空间。
不可变类型有Numble(数字)、Tuple(元组)、String(字符串)。
我们来看一个例子:
s = 'qwer1234'
print(s, id(s))
s += 'asdf'
print(s, id(s))
输出结果为:
qwer1234 1842604317040
qwer1234asdf 1842607510960
可以看出,对数据进行修改的时候,地址也会发生变化。
参考文章:
python变量的可变,不可变
相关文章:
Python中的可变变量与不可变变量
python中的可变与不可变变量 一、变量的三个参数 就像区分一个人一样,同样都是张三,可能这个张三就不是那个张三。同一个变量是指的什么相同呢? Python中的对象包含三个要素,id(内存地址),typ…...
OpenGL调用窗口,方向键和鼠标
9.2 OpenGL调用窗口,方向键和鼠标 9.2.1 opengl调用窗口 OpenGL调用窗口步骤: 第一步:初始化 GLFW,初始化OpenGL,初始化窗口,初始化上下文 第二步:设置窗口大小和位置,设置输入输出 第三步…...
fastAdmin表格列表的功能
更多文章,请关注:fastAdmin后台功能详解 | 夜空中最亮的星 FastAdmin是一款基于ThinkPHP5Bootstrap的极速后台开发框架。优点见开发文档 介绍 - FastAdmin框架文档 - FastAdmin开发文档 在这里上传几张优秀的快速入门图: 一张图解析FastAdmin中的表格列…...
用来检查 CUDA、Conda 和 PyTorch 的版本的python文件
提供的 Python 代码片段包括几个语句,用来检查 CUDA、Conda 和 PyTorch 的版本,以及一些与 CUDA 相关的系统配置。让我们分解一下:PyTorch 版本和配置:torch.__config__.show():显示 PyTorch 的构建配置。 torch.__ver…...
基于Redisson,实现分布式锁注解
1.原始写法 我们平常使用redisson的分布式锁是不是基本都用下面的这个模板,既然是模板,那为何不把他抽出来呢? // 尝试加锁,最多等待100秒,上锁以后10秒自动解锁 boolean res lock.tryLock(100, 10, TimeUnit.SECON…...
【机器学习】机器学习是什么?
你知道机器学习是什么吗?它就像是一个超级聪明的孩子,可以通过观察和经验不断学习和成长。而我们要做的就是培养和教育这个孩子,让他能够从数据中学习并做出决策和预测。 那么,我们该如何培养和教育这个聪明的孩子呢?首…...
一文速览深度伪造检测(Detection of Deepfakes):未来技术的守门人
一文速览深度伪造检测(Detection of Deepfakes):未来技术的守门人 前言一、Deepfakes技术原理卷积神经网络(CNN):细致的艺术学徒生成对抗网络(GAN):画家与评审的双重角色…...
C# 中的执行表达式树(Expression Tree)
引言: 在C#编程中,表达式树(Expression Tree)是一种强大的工具,用于表示和执行计算表达式。表达式树将计算表达式抽象为树状结构,每个节点代表表达式中的一个元素,如常量、变量、方法调用等。本…...
森林监测VR虚拟情景再现系统更便利
AI人工智能技术已经逐渐渗透到各个领域,为我们的生活带来了诸多便利。在虚拟仿真教学领域,AI技术的应用也日益丰富,为虚拟情景交互体验带来了前所未有的好处。 提高VR虚拟情景的逼真度 通过深度学习和计算机视觉等技术,AI/VR虚拟现…...
高频面试题整理(一)
文章目录 平台无关性如何实现?JVM如何加载 .class文件?什么是反射?谈谈ClassLoader谈谈类的双亲委派机制类的加载方式Java的内存模型?JVM内存模型-jdk8程序计数器:Java虚拟机栈局部变量表和操作数栈: Java内存模型中堆和栈的区别…...
2-23 switch、JVM内存模型、垃圾回收机制、this、static、变量的分类
文章目录 switch 实现成绩评级JVM内存模型概念栈的特点堆的特点 垃圾回收机制通用的分代垃圾回收机制三种清理算法垃圾回收过程垃圾回收常见的两种检测引用算法内存泄露常见原因 this的用法创建对象的四步 static 静态特点 变量的分类和作用域import switch 实现成绩评级 switc…...
基础!!!吴恩达deeplearning.ai:卷积层
以下内容有任何不理解可以翻看我之前的博客哦:吴恩达deeplearning.ai专栏 文章目录 回顾——密集层 Dense Layer卷积层 Convolutional Neural Network定义优势具体说明心电图卷积层搭建 到目前为止,你使用的所有神经网络层都是密集层类型,这…...
SpringBoot案例(黑马学习笔记)
这个案例呢,就是Tlias智能学习辅助系统。 参考接口文档完成后端功能的开 发,然后结合前端工程进行联调测试即可。 完成后的成品效果展示: 准备工作 需求&环境搭建 需求说明 部门管理 部门管理功能开发包括: ● 查询部门列…...
项目流程图
实现便利店自助付款项目 服务器: 1、并发服务器(多进程、多线程、IO多路复用) 2、SQL数据库的创建和使用(增删改查) 3、以模块化编写项目代码,按照不同模块编写.h/.c文件 客户端: 1、QT客户端界…...
鸿蒙这么大声势,为何迟迟看不见岗位?最新数据来了
对于鸿蒙生态建设而言,2024年可谓至关重要,而生态建设的前提,就是要有足够的开发人才。与之对应的,今年春招市场上与鸿蒙相关岗位和人才旺盛的热度,一方面反应了鸿蒙生态的逐渐壮大,另一方面也让人们对鸿蒙…...
Qt中关于信号与槽函数的思考
信号与槽函数的思考 以pushbutton控件为例,在主界面上放置一个pushbutton控件,点击右键选择关联槽函数,关联一个click函数,如下图所示: 在该函数中,实现了一个点击pushbutton按钮后,弹出一个窗…...
项目技术栈-解决方案-消息队列
项目技术栈-解决方案-消息队列 概念应用场景1. 异步处理 参考文章消息队列(Message Queue) 概念 “消息”是在两台计算机间传送的数据单位。 消息可以非常简单,例如只包含文本字符串; 也可以更复杂 ,包括对象等。 队…...
【深度优先搜索】【图论】【推荐】332. 重新安排行程
作者推荐 动态规划的时间复杂度优化 本文涉及知识点 深度优先搜索 图论 LeetCode332. 重新安排行程 给你一份航线列表 tickets ,其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。 所有这些机票都属于一个从 JFK&a…...
DAY9-防病毒AV概述
DNS过滤 URL过滤和DNS过滤对比...
TCP缓存
TCP缓存是指TCP协议在数据传输过程中使用的一种机制,用于临时存储和管理数据包。它主要有三个作用:提高网络性能、保证数据的可靠性和实现流量控制。 首先,TCP缓存可以提高网络性能。当发送端发送数据时,TCP协议会将数据分割成若…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...
elementUI点击浏览table所选行数据查看文档
项目场景: table按照要求特定的数据变成按钮可以点击 解决方案: <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...
LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用
中达瑞和自2005年成立以来,一直在光谱成像领域深度钻研和发展,始终致力于研发高性能、高可靠性的光谱成像相机,为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...
【WebSocket】SpringBoot项目中使用WebSocket
1. 导入坐标 如果springboot父工程没有加入websocket的起步依赖,添加它的坐标的时候需要带上版本号。 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dep…...
规则与人性的天平——由高考迟到事件引发的思考
当那位身着校服的考生在考场关闭1分钟后狂奔而至,他涨红的脸上写满绝望。铁门内秒针划过的弧度,成为改变人生的残酷抛物线。家长声嘶力竭的哀求与考务人员机械的"这是规定",构成当代中国教育最尖锐的隐喻。 一、刚性规则的必要性 …...
