新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:python循環(huán)引用是什么意思?
本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。

1、說明
(1)簡單來說,當(dāng)一個(gè)對(duì)象不再使用時(shí),應(yīng)該被釋放,但是,當(dāng)對(duì)象被刪除后仍然存在引用計(jì)數(shù)時(shí),將無法釋放該對(duì)象。
(2)當(dāng)被del后的對(duì)象還存在引用計(jì)數(shù)時(shí),通過引用計(jì)數(shù)器機(jī)制就無法做到真正從內(nèi)存中回收它們,于是就造成了,由循環(huán)引用引起的內(nèi)存泄漏問題。
2、實(shí)例
class Person:
def __del__(self):
print("Person({0}) 被釋放".format(id(self)))
class Dog:
def __del__(self):
print("Dog({0}) 被釋放".format(id(self)))
p = Person() # p = 1
dog = Dog() # dog = 1
# 循環(huán)引用
p.pet = dog # dog = 2
dog.master = p # p = 2
# 程序結(jié)束前 __del__() 不被調(diào)用
# 由于循環(huán)引用,本質(zhì)上無法真正刪除 p, dog,只是在語法層面上刪除了它們。
del p, dog # p, dog = 1, 1以上就是python循環(huán)引用的介紹,希望能對(duì)大家有所幫助。更多Python學(xué)習(xí)指路:創(chuàng)新互聯(lián)python教程
文章名稱:創(chuàng)新互聯(lián)Python教程:python循環(huán)引用是什么意思?
文章位置:http://www.dlmjj.cn/article/djdjedj.html


咨詢
建站咨詢
