python之引用可变与不可变类型

这篇博客探讨了Python中的变量引用特性,通过实例展示了不可变类型(如整数、浮点数、字符串、元组)和可变类型(如列表)在内存管理上的差异。对于不可变类型,改变变量值会创建新的内存空间,而可变类型则在原内存空间进行修改。了解这些概念有助于更好地理解和操作Python数据结构。
摘要由CSDN通过智能技术生成

在python中,值是靠引用来传递的
可以用id()来判断两个变量是否为同一值的引用。
一 .不可变类型:
不可变类型有:整型,浮点型,字符串,元组。

# 可变和不可变

# 1, 不可变:int:1.1声明变量保存整形数据,把这个数据赋值到另一个变量
# id()检测两个变量的id值
a = 1
b = a
print(id(a))
print(id(b))

# 修改a的数据测试id值
a = 2
print(a)
print(b)
print(id(a))
print(id(b))

编译结果:

140713954629280
140713954629280
2
1
140713954629312
140713954629280

开始我们把数值1开辟了内存空间,然后把1赋值给了a,即内存指向为a,然后a又赋值给了b,即a又指向b,所以内存空间地址是一样的,即id值一样
之后我们又拿出了数值2开辟了内存空间,然后把2赋值给了a,即2的内存指向为a,当再打印a是就不是原来1的内存地址,而是2的内存地址。

二 . 可变类型(列表)
可变类型有:列表,字典,集合。

# 1. 可变类型: 列表
aa = [10, 20]
bb = aa
print(id(aa))
print(id(bb))
aa.append(30)
print(aa)
print(id(aa))
print(id(bb))

编译结果:

1392384957504
1392384957504
[10, 20, 30]
1392384957504
1392384957504

有编译结果可以得出,可变类型数据实在原内存空间进行更改的,是没有另外开辟内存空间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值