求解python的对象内存释放问题
python的内存释放,初步了解是系统扫描对象没有引用了就会释放。
我想问以下情况内存是否会被释放,
设有循环双链表 CDLL(CircularDoubleLinkList),cdll的每个节点对象dNode拥有数据,前驱,后继data,prior,nNext(和python关键字重复了),CDLL有头指针CDLL.frist,和一删除最后节点的方法CDLL.DLN(delete last node)
DLN实现如下
def DLN(self):
self.frist.prior = self.frist.prior.prior
self.frist.prior.next = self.frist
这时尾节点就被切出CDLL了,那么尾节点会被释放掉吗?
再者,CDLL拥有删除循环双链表的方法CDLL.Destory
那么是不是只要如下实现,就可以了
def Destory(self):
self.frist = None
这样就可以了吗?
如果可以的话,请由此例子给我详解一下python的内存释放机制。菜鸡就剩七十分了,全给大婶们。