Python内存管理机制

1、Python引用,变量,对象
python中的对象可以分为不可变对象和可变对象两种类型,分别是:小整数、简单字符串(对于整数和字符串为什么要强调小整数和简单字符串参考博客 Python缓存机制),,而对于大整数,长字符串,列表、字典等。
区别可变对象和不可变对象还要用到内存和引用,当我们执行一句代码a=3时,python中执行了三个动作:
首先,为整数对象3分配一段内存空间,用来存放对象3,
再次,创建一个变量a
最后,变量a引用对象3
同样list_a=[1,2,3]也是做了同样的事情


a=3
b=a
a=4
我们打印出a和b,分别为4和3,第一行代码是将变量a引用了对象3,其实就是给对象三贴上了一个标签a,第二行代码,等同于将变量b也引用了对象3,这样对象3上贴了两个标签了,第三行代码将变量a又重新引用了对象4,也就是说,将对象3上的标签a撕下来贴到对象4上了。以上这个过程对象3没有任何改动,所以我们称之为不可变性


list_a=[1,2,3]
list_b=list_a
list_a[0]=4
我们打印出list_a和list_b,结果都是[4,2,3],因为我们的list_a和list_b都是引用的列表对象,而列表对象中又包含了三个整数对象,也即list_a[
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值