我是编程新手,我不明白垃圾收集是如何工作的。在以下示例中:
import Tkinter as tk
a = 0
class Object1:
def __init__(self):
global a
a = tk.Frame()
a.pack()
b = tk.Button(a, text="click me", command=self.callback)
b.pack()
def callback(self):
print "clicked!"
program = Object2()
class Object2:
def __init__(self):
global a
a.destroy()
a2 = tk.Frame()
a2.pack()
b = tk.Label(a2, text='This is the second object.')
b.pack()
program = Object1()
tk.mainloop()
Object1 的实例“program”是否保留在末尾?我是否必须以某种方式明确删除它?如果我多次重复这个结构,每个 Objectx 都有一个按钮,它会破坏前一帧并添加一个包含新内容的新帧,随着程序的进行,这会消耗越来越多的内存吗?谢谢你的帮助。