ребят, помогите пожалуйста разобраться с инициализацией объектов в tkinter, на python.su молчат скажите пожалуйста зачем при создании графических интерфейсов при помощи tkinter принято наследовать класс от Frame и т.п.? вот классический пример кода, который используется почти всегда:import tkinterimport tkinter.messageboxclass Quitter(tkinter.Frame): def __init__(self, parent=None): tkinter.Frame.__init__(self, parent) self.pack() widget = tkinter.Button(self, text='Quit', command=self.quit) widget.pack(side='left', expand='yes', fill=tkinter.BOTH) def quit(self): ans = tkinter.messagebox.askokcancel('Verify exit', "Really quit?") if ans: tkinter.Frame.quit(self)if __name__ == '__main__': Quitter().mainloop() по моему можно обойтись и без наследования. например так:import tkinterclass But_print(): def __init__(self, parent): self.but = tkinter.Button(parent, text = 'press me', command = lambda: self.press(parent)) self.but.pack() def press(self, parent): parent.destroy()root = tkinter.Tk()root2 = tkinter.Tk()obj = But_print(root)obj2 = But_print(root2)root.mainloop() скажите пожалуйста где я не прав и почему использовать наследование важно? какие плюсы это даёт? psпримеры немного разные, но не в этом суть. главное в том, что возможно реализовать функциональность, которую можно использовать повторно