python操作内存,python内存管理机制有哪些
首先,关于python的内存管理,我们不得不提一下Python解释器在什么情况下会释放变量的内存。Python指的是简单的计算内存来控制。当变量的引用计数为0时,它将被解释器回收。当然,在交互模式下,不会立即释放内存,而是通过重启解释器来释放。
下面是引用计数的知识:
1)增加引用计数当一个对象被创建并被赋值(其引用)给一个变量时,该对象的引用计数被设置为1。
对象的引用计数增加:
创建的对象:x=3.14
创建了另一个别名:y=x。
作为参数传递给函数(新的本地引用):foobar(x)
成为容器对象的一个元素:myList=[123,x, xyz]
2)减少引用计数对象的引用计数:
局部引用已超出其范围。例如当foobar()函数结束时。
对象的别名被显式销毁:del y
该对象的别名被分配给其他对象:x=123
对象已从窗口对象中移除:myList.remove(x)
窗户本身被摧毁:德尔迈里斯特
3) del语句del语句删除一个对象的引用,其语法如下:del obj[,obj2[,objN]]
例如,在上面的示例中执行del y将产生两个结果:
从当前命名空间中删除y
x的参考计数减少1。
让我们试一试。
importsys
x=3.14
Print(原始参考值:,sys.getrefcount(x))
y=x
Print(被Y引用后:,sys.getrefcount(x))
x=4.0
Print(重新分配后:,sys.getrefcount(x))
延迟
Print(删除Y参考后:,sys.getrefcount(x))原始参考值:3
Y被引用后:4
重新分配后:3
删除Y参考后:python内存相关文章推荐阅读:
python是如何控制内存的
python的内存是如何管理的?
(推荐操作系统:windows7系统,Python 3.9.1,戴尔G3电脑。)
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。