当前位置:
首页 > Python基础教程 >
-
Python中的可变变量与不可变变量的使用
本文主要介绍了Python中的可变变量与不可变变量的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
一、变量的三个参数
就像区分一个人一样,同样都是张三,可能这个张三就不是那个张三。同一个变量是指的什么相同呢?
Python中的对象包含三个要素,id(内存地址),type(数据类型),value(数据值)。
像如下的赋值实际上是把变量a的指针指向了5的内存地址,打印可以看到a的内存地址和5的内存地址是一样的。
a = 5
print(id(a),id(5))
输出结果为:
2086689663408 2086689663408
注意:
==是比较操作符,用来判断两个对象是否相等,value(值)作为判断依据
is是同一性运算符,比较判断两个对象是否相同,id(内存地址)作为判断因素
二、数据类型的两种分类
Python中变量可分为可变变量和不可变变量。
-
可变变量
定义:当变量在内存中分配地址之后,可以使用方法来改变变量的值,而不改变该变量原有的地址
可变类型有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 可变变量与不可变变量内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持
原文链接:https://blog.csdn.net/W_chuanqi/article/details/136374006
栏目列表
最新更新
求1000阶乘的结果末尾有多少个0
详解MyBatis延迟加载是如何实现的
IDEA 控制台中文乱码4种解决方案
SpringBoot中版本兼容性处理的实现示例
Spring的IOC解决程序耦合的实现
详解Spring多数据源如何切换
Java报错:UnsupportedOperationException in Col
使用Spring Batch实现批处理任务的详细教程
java中怎么将多个音频文件拼接合成一个
SpringBoot整合ES多个精确值查询 terms功能实
SQL Server 中的数据类型隐式转换问题
SQL Server中T-SQL 数据类型转换详解
sqlserver 数据类型转换小实验
SQL Server数据类型转换方法
SQL Server 2017无法连接到服务器的问题解决
SQLServer地址搜索性能优化
Sql Server查询性能优化之不可小觑的书签查
SQL Server数据库的高性能优化经验总结
SQL SERVER性能优化综述(很好的总结,不要错
开启SQLSERVER数据库缓存依赖优化网站性能
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比