Я новичок в программировании, и я не понимаю, как работает сборщик мусора. В следующем примере:Удаление экземпляра Python
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, в конце? Должен ли я явно удалить его каким-то образом? Если я повторяю эту структуру много раз, причем каждый объект Objectx имеет кнопку, которая уничтожает предыдущий кадр и добавляет новый кадр с новым контентом, будет ли он потреблять все больше и больше памяти по мере продолжения программы? Спасибо за любую помощь.
Спасибо, это достаточно легко. – Verdigriss