’python’内存垃圾回收机制

本文是关于Python内存管理的学习笔记,详细介绍了引用计数机制,当对象引用计数为0时,对象成为垃圾并等待回收。此外,还探讨了Python的垃圾回收过程和内存池机制,内存池主要针对小内存分配,提升效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本篇文章主要用作是Python中的学习笔记,根据个人理解记录python的内存管理机制以便加深理解和记忆,开发语言的内存管理是语言设计的一个重要方面,它是决定语言性能的重要因素。有兴趣的童鞋也可以顺便一起了解一下。

Python的内存管理机制:引用计数、垃圾回收、内存池机制。

一、引用计数

首先要理解的是在Python中一切皆对象,所有的变量、函数以及类都是绑定对应的对象,变量名通过赋值绑定对象的内存地址,产生一个引用关系,通过这个引用关系可以获取duix对象的值。同一个对象可以被多个变量绑定,分别会产生多个引用关系。

注:Python中变量名没有类型,类型属于对象(因为变量引用对象,所以类型随对象),即定义一个变量不需要像Java中那样先声明变量类型,Python变量直接赋值即可,赋值什么样的对象,变量就是什么类型的。

a = 3
print(a)
3
type(a)
<class 'int'>

        当一个对象obj被一个变量a引用时,obj的引用计数将增加1。如果a引用了两次obj,则a的引用计数增加了2;如果此时a被另一个变量引用如:b = a ;则对象obj的引用变成了3。虽然定义了两个变量,但这里a和b两个变量其实是同时引用了obj的内存地址。我们可以通过id()函数来查看a、b绑定的地址是否相同:

>>> a = 3
>>> id(a)
1363045456
>>> b = a
>>> id(b)
1363045456
>>> print(a is b)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值