python如何管理对象删除或破坏

伙计们,我对python很新,并且学习它来构建一个gui应用程序(使用wypython)。我有一个与python中的对象销毁有关的问题。 例如在myFrame中我有onNew(创建一个新文档)和onOpen(打开文件)方法。 简而言之,它看起来像这样。
def onNew
    self.data=DataModel()
    self.viewwindow=ViewWindow(self.data)


def onOpen
    dlg = wx.FileDialog(self, "Open file", os.getcwd(), "", "*.*", wx.OPEN)
        if dlg.ShowModal() == wx.ID_OK:
            self.data=DataModel.from_file(...)
            self.view=View(self.data)
现在,我想考虑“如果用户点击打开或再次点击,之后点击之前。” 所以对于窗口类,我可以调用
self.viewwindow.Destroy()
来破坏窗口。那数据模型对象呢?如果我先打电话给新:
self.data=DataModel()
,然后打开并重新分配
self.data=DataModel.from_file(...)
,旧实例怎么样?我需要自己破解它还是python会管理这种破坏?     
已邀请:
Python有垃圾收集。只要你没有任何对旧物体的引用,它就会被收集起来。 一旦你说
self.data = somethingElse
那么旧的
self.data
将不会有任何引用(除非另一个对象引用了你的对象的
self.data
)。     

要回复问题请先登录注册