Python变量赋值原理,不可变性,缓存机制

Python中几种数据类型具有不可变性:数字,字符串,元组。不可变性的含义即是无法直接将储存在内存中的数据进行覆盖修改。
变量的类型通过第一次赋值来实现定义,实际上变量名是一个指针,指向内存中的值,当变量改变时,直接改变指针,同时回收之前指向的内存(实际上小整数和字符串具有缓存机制,这种情况下小整数和字符串占用的区域会被缓存起来,方便下次快速调用)。
下列情况中:
>>a = 3
>>b = a
>>a = a + 2
虽然a和b同时指向一片内存,但b的值并不会被修改,因为整数的不可变性,使得a累加后指向了另外一片内存,而b指向的3并没有改变。

缓存机制,例:
>>L=[1,2,3]
>>M=[1,2,3]
>>L == M
True
>>L is M
False
>>X=42
>>Y=42
>>X == Y
True
>>X is Y
True
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值