python 可变数据类型和不可变数据类型
python数据类型分别有整数int / 浮点数float / 布尔值bool / 元组tuple / 列表list / 字典dict,其中数据类型分为两个大类,一种是可变数据类型;一种是不可变数据类型
在python编程的时候,代码中的变量实际上都是存储在计算机内存中,通过python内置函数id(),可以用于获取内存地址!
可变数据类型:当该数据类型对应的变量的值发生了变化时,如果它对应的内存地址不发生改变,那么这个数据类型就是 可变数据类型。
不可变数据类型:当该数据类型对应的变量的值发生了变化时,如果它对应的内存地址发生了改变,那么这个数据类型就是 不可变数据类型。
总结:可变数据类型更改值后,内存地址不发生改变;不可变数据类型更改值后,内存地址发生改变。
python的数据类型中: 不可变数据类型:数值类型(int、float、bool)、string(字符串)、tuple(元组) 可变数据类型:list(列表)、dict(字典)
不可变数据类型示例:
# 整型变量 a = 10 print("整形变量a修改之前地址:{}".format(id(a))) a = 20 print("整形变量a修改之后地址:{}".format(id(a))) print("***" * 20) # 浮点数变量 a = 10.5 print("浮点数变量a修改之前地址:{}".format(id(a))) a = 20.2 print("浮点数变量a修改之后地址:{}".format(id(a))) print("***" * 20) # 字符串变量 a = "hello" print("字符串变量a修改之前地址:{}".format(id(a))) a = "world" print("字符串变量a修改之后地址:{}".format(id(a))) print("***" * 20) # 布尔值变量 a = False print("布尔值a修改之前地址:{}".format(id(a))) a = True print("布尔值a修改之后地址:{}".format(id(a))) print("***" * 20) # 元组的数据不能修改,否则会报错 ==========输出结果============ 整形变量a修改之前地址:4401587904 整形变量a修改之后地址:4401588224 ************************************************************ 浮点数变量a修改之前地址:4541338944 浮点数变量a修改之后地址:4541338968 ************************************************************ 字符串变量a修改之前地址:4404281896 字符串变量a修改之后地址:4404282232 ************************************************************ 布尔值a修改之前地址:4401185168 布尔值a修改之后地址:4401184224 ************************************************************
可变数据类型示例
#列表 a = list() print("列表a修改之前地址:{}".format(id(a))) a.append(20) print("列表a修改之后地址:{}".format(id(a))) a.append(False) print("列表a修改之后地址:{}".format(id(a))) a.append("hello") print("列表a修改之后地址:{}".format(id(a))) print("***"*20) #字典 a = dict() print("字典a修改之前地址:{}".format(id(a))) a["name"]="zhangsan" print("字典a修改之后地址:{}".format(id(a))) a["age"]=18 print("字典a修改之后地址:{}".format(id(a))) a["sing_dog"]=True print("字典a修改之后地址:{}".format(id(a))) print("***"*20) ========输出结果======= 列表a修改之前地址:4351201352 列表a修改之后地址:4351201352 列表a修改之后地址:4351201352 列表a修改之后地址:4351201352 ************************************************************ 字典a修改之前地址:4349994904 字典a修改之后地址:4349994904 字典a修改之后地址:4349994904 字典a修改之后地址:4349994904 ************************************************************
————————————————
版权声明:本文为CSDN博主「loveysuxin」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/LOVEYSUXIN/article/details/127986901
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构