python引用計(jì)數(shù)器機(jī)制是什么
本文教程操作環(huán)境:windows7系統(tǒng)、Python3.9.1,DELLG3電腦。
1、說明
使用sys.getrefcount(obj)可以查看一個(gè)對(duì)象的當(dāng)前引用計(jì)數(shù)。在Python中,當(dāng)對(duì)象被傳入到一個(gè)函數(shù)時(shí),在這個(gè)函數(shù)的內(nèi)部有會(huì)兩個(gè)對(duì)象引用著它。但是sys.getrefcount(obj)比較特殊,通常只引用一次。
2、實(shí)例
classPerson:
pass
deflog(obj):
#obj+=2
print(sys.getrefcount(obj))#obj+=1
p=Person()#p=1
log(p)#p=4
print(sys.getrefcount(obj))#p=2
對(duì)象在離開函數(shù)作用域時(shí),會(huì)斷開和函數(shù)對(duì)象之間的引用,因此最后p的引用計(jì)數(shù)為2。
以上就是python引用計(jì)數(shù)器機(jī)制的介紹,希望能對(duì)大家有所幫助。更多Python學(xué)習(xí)教程請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。