python操作内存,python内存管理机制有哪些

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: