14、零基础Python到全栈-变量的内存管理

上节课我们说了,定义变量其实就是在内存里开辟了一个内存空间,然后把内存空间的一个地址捆绑给了一个变量名,通过这个变量名我们就可以找到这个对应的值在哪。现在我们要知道,定义变量首要占用内存空间的,但内存空间大小是有限的。

这时候就是涉及到一个问题,你申请了内存空间要用没关系,但是如果你不用了的话,一定要记得把内存空间给释放出来,不然的话你申请了如果还不用,那你就在白白浪费内存资源,导致计算机内存可能就被占满了。

就有那种很垃圾的程序,它占用一堆内存空间又不释放,最后又把内存空间给撑爆了,这就叫做内存溢出。为了防止这种问题,咱们写程序的时候,你定义变量申请内存空间,一定要记住,用了以后要把内存空间给释放出来。

这个操作就叫内存管理。

我们在写代码的时候,考虑内存空管理是一件非常痛苦的事情。因为这个东西实在是太繁琐了,一旦稍微处理不当,你的程序就有可能要崩溃,于是Python推出了一个内存管理机制,称之为垃圾回收机制。

那什么叫做垃圾呢,举个例子;之前我们定义了一个name叫做于谦,我们通过这个变量名就可以找到它,也就是这个小房间里捆绑着一个门牌号(变量名),这个变量值是可以顺着变量名引用到的,这个时候还不叫垃圾。一旦小房间里没有捆绑着变量名,你是不是就找不到这个变量值了。现在找不到值了,就成为了一个垃圾。

垃圾回收机制就是用来回收这种没有关联任何变量名的值,这就涉及到一个概念,叫做引用计数,顾名思义就是统计引用的个数嘛。

就以于谦这个值为例,它的引用计数,也就是这个内存空间身上捆绑了几个变量名,现在捆绑了一个name,还有a、b这三个,那么它的引用计数就是3.

反之,如果name、a、b这三个都和于谦解除了捆绑关系,那么它的引用计数就位0,也就是垃圾。

展开阅读全文

页面更新:2024-03-01

标签:变量   门牌号   顾名思义   内存空间   也就是   定义   机制   内存   垃圾   基础   程序

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top