python 中自动化内存管理问题

python 中自动化内存管理

问题:
使用赋值语句
a = 10000
b = 20000

a = a + b # 发生了什么?
c = a # 发生了什么?

a = 10000 内存中创建一个10000对象,用变量a和10000绑定绑定

b = 20000 内存中创建一个 20000对象,用变量b和20000对象绑

a = a + b 计算对象a 和 b 的和,创建一个30000的对象,a 解除与10000对象的绑定,重新绑定30000这个对象

c = a 变量c和变量a绑定同一个对象

注:在python中,变量没有类型
关联/绑定/引用都是指一个变量和一个对象的关联关系

del 语句(delete简写)
作用:用于删除变量,同事解除此变量与对象的绑定关系
,如果可能则释放对象
  
语法:
del 变量名

自动化内存管理和引用计数:
每个对象会记录有几个变量引用自身,当引用的数量为0时,此对象被销毁,此种自动化内存管理的方式叫引用计数

如上面的问题中的对象 10000如果没有变量与其绑定,会被随时销毁

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值