擅长:python、mysql、java
<p>在python中不能销毁对象。这是垃圾收集者的工作。您可以做的是将引用更改为“无”或删除该引用。但是如果对象仍然有其他的引用链接,它将保持在内存中而不会受到伤害。看看这个例子</p>
<pre><code>class ListNode:
def __init__(self, x):
self.val = x
self.next = None
if __name__=='__main__':
l1=ListNode(9)
t=ListNode(8)
l1.next=t
l2=ListNode(1)
s=Solution()
r=s.addTwoNumbers(l1,l2)
del t #not similar to t=None, this will fully destroy the existence
#of the reference t, while t=None will only set the reference
#to None
print l1.next.val #this will give the value 8
print t #this line will give an error as reference t has no
#existence anymore
</code></pre>
<p>看,值为8的对象(在t=ListNode(8)行创建)仍然是活动的。我们只销毁了t的引用,但实际对象在python的垃圾回收器手中。只有当我们删除另一个引用链接(l1.next)时,该对象将丢失所有引用链接并成为垃圾,然后python将从内存中完全销毁它。因此,虽然您可以完全控制引用,但无法控制实际对象。在</p>