久久久精品2019免费观看_亚洲国产精品成人久久久_69国产成人综合久久精品91_国产精品久久精品视

零基礎(chǔ)Python 變量的內(nèi)存管理機制

上節(jié)課我們說了,定義變量其實就是在內(nèi)存里開辟了一個內(nèi)存空間,然后把內(nèi)存空間的一個地址捆綁給了一個變量名,通過這個變量名我們就可以找到這個對應(yīng)的值在哪。現(xiàn)在我們要知道,定義變量首要占用內(nèi)存空間的,但內(nèi)存空間大小是有限的。

這時候就是涉及到一個問題,你申請了內(nèi)存空間要用沒關(guān)系,但是如果你不用了的話,一定要記得把內(nèi)存空間給釋放出來,不然的話你申請了如果還不用,那你就在白白浪費內(nèi)存資源,導(dǎo)致計算機內(nèi)存可能就被占滿了。

就有那種很垃圾的程序,它占用一堆內(nèi)存空間又不釋放,最后又把內(nèi)存空間給撐爆了,這就叫做內(nèi)存溢出。為了防止這種問題,咱們寫程序的時候,你定義變量申請內(nèi)存空間,一定要記住,用了以后要把內(nèi)存空間給釋放出來。

這個操作就叫內(nèi)存管理。

我們在寫代碼的時候,考慮內(nèi)存空管理是一件非常痛苦的事情。因為這個東西實在是太繁瑣了,一旦稍微處理不當(dāng),你的程序就有可能要崩潰,于是Python推出了一個內(nèi)存管理機制,稱之為垃圾回收機制。

那什么叫做垃圾呢,舉個例子;之前我們定義了一個name叫做于謙,我們通過這個變量名就可以找到它,也就是這個小房間里捆綁著一個門牌號(變量名),這個變量值是可以順著變量名引用到的,這個時候還不叫垃圾。一旦小房間里沒有捆綁著變量名,你是不是就找不到這個變量值了。現(xiàn)在找不到值了,就成為了一個垃圾。

垃圾回收機制就是用來回收這種沒有關(guān)聯(lián)任何變量名的值,這就涉及到一個概念,叫做引用計數(shù),顧名思義就是統(tǒng)計引用的個數(shù)嘛。

就以于謙這個值為例,它的引用計數(shù),也就是這個內(nèi)存空間身上捆綁了幾個變量名,現(xiàn)在捆綁了一個name,還有a、b這三個,那么它的引用計數(shù)就是3.

反之,如果name、a、b這三個都和于謙解除了捆綁關(guān)系,那么它的引用計數(shù)就位0,也就是垃圾。

未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » 零基礎(chǔ)Python 變量的內(nèi)存管理機制

贊 (0) 打賞

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

微信掃一掃打賞