這篇文章給大家介紹如何在python中使用引用計(jì)數(shù)機(jī)制,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
成都網(wǎng)站建設(shè)、網(wǎng)站制作,成都做網(wǎng)站公司-創(chuàng)新互聯(lián)公司已向上千余家企業(yè)提供了,網(wǎng)站設(shè)計(jì),網(wǎng)站制作,網(wǎng)絡(luò)營(yíng)銷等服務(wù)!設(shè)計(jì)與技術(shù)結(jié)合,多年網(wǎng)站推廣經(jīng)驗(yàn),合理的價(jià)格為您打造企業(yè)品質(zhì)網(wǎng)站。
1、說明
python里每一個(gè)東西都是對(duì)象,它們的核心就是一個(gè)結(jié)構(gòu)體:PyObject。
2、優(yōu)點(diǎn)
簡(jiǎn)單。
實(shí)時(shí)性:一旦沒有引用,內(nèi)存就直接釋放了。不用像其他機(jī)制等到特定時(shí)機(jī)。實(shí)時(shí)性還帶來一個(gè)好處:處理回收內(nèi)存的時(shí)間進(jìn)行了分?jǐn)偂?/p>
3、實(shí)例
typedef struct_object { int ob_refcnt; struct_typeobject *ob_type; } PyObject; PyObject是每個(gè)對(duì)象必有的內(nèi)容,其中ob_refcnt就是做為引用計(jì)數(shù)。當(dāng)一個(gè)對(duì)象有新的引用時(shí),它的ob_refcnt就會(huì)增加,當(dāng)引用它的對(duì)象被刪除,它的ob_refcnt就會(huì)減少 #define Py_INCREF(op) ((op)->ob_refcnt++) //增加計(jì)數(shù) #define Py_DECREF(op) \ //減少計(jì)數(shù) if (--(op)->ob_refcnt != 0) \ ; \ else \ __Py_Dealloc((PyObject *)(op)) 當(dāng)引用計(jì)數(shù)為0時(shí),該對(duì)象生命就結(jié)束了。
Python是一種跨平臺(tái)的、具有解釋性、編譯性、互動(dòng)性和面向?qū)ο蟮哪_本語言,其最初的設(shè)計(jì)是用于編寫自動(dòng)化腳本,隨著版本的不斷更新和新功能的添加,常用于用于開發(fā)獨(dú)立的項(xiàng)目和大型項(xiàng)目。
關(guān)于如何在python中使用引用計(jì)數(shù)機(jī)制就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。