日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:python如何釋放內(nèi)存

關(guān)于Python中的內(nèi)存釋放問題

首先就不得不提到Python解釋器在何種情況下會釋放變量的內(nèi)存。Python引用了內(nèi)存計(jì)數(shù)這一簡單的計(jì)數(shù)來控制。

python學(xué)習(xí)網(wǎng),大量的免費(fèi)python視頻教程,歡迎在線學(xué)習(xí)!

下面是引用計(jì)數(shù)的知識:

1) 增加引用計(jì)數(shù) 當(dāng)對象被創(chuàng)建并(將其引用)賦值給變量時,該對象的引用計(jì)數(shù)被設(shè)置為1。

對象的引用計(jì)數(shù)增加的情況:

對象被創(chuàng)建:x = 3.14

另外的別名被創(chuàng)建:y = x

被作為參數(shù)傳遞給函數(shù)(新的本地引用):foobar(x)

成為容器對象的一個元素:myList = [123, x, 'xyz']

2) 減少引用計(jì)數(shù) 對象的引用計(jì)數(shù)減少的情況:

一個本地引用離開了其作用范圍。如foobar()函數(shù)結(jié)束時

對象的別名被顯式銷毀:del y

對象的一個別名被賦值給其他對象:x = 123

對象被從一個窗口對象中移除:myList.remove(x)

窗口對象本身被銷毀:del myList

3) del語句 Del語句會刪除對象的一個引用,它的語法如下:del obj[, obj2[, ...objN]]

例如,在上例中執(zhí)行del y會產(chǎn)生兩個結(jié)果:

從現(xiàn)在的名稱空間中刪除y

x的引用計(jì)數(shù)減1

下面我們來試驗(yàn)一下

import sys
 
x = 3.14
print("原始引用值:", sys.getrefcount(x))
y = x
print("被y引用后:", sys.getrefcount(x))
 
x = 4.0
print("重新賦值后:", sys.getrefcount(x))
 
del y
print("刪除y引用后:", sys.getrefcount(x))
原始引用值: 3
被y引用后: 4
重新賦值后: 3
刪除y引用后: 3

當(dāng)一個變量的引用計(jì)數(shù)為0的時候,就會被解釋器回收。當(dāng)然在交互模式下,內(nèi)存不會馬上釋放,重新啟動解釋器就會釋放了。


標(biāo)題名稱:創(chuàng)新互聯(lián)Python教程:python如何釋放內(nèi)存
標(biāo)題URL:http://m.5511xx.com/article/djihhpi.html