Я создаю GUIclass, который использует Frame() в качестве базового класса.
В моем методе init GUIclass я хочу создать виджет Frame
Сейчас у меня есть:
class GUIclass(Frame):
def __init__(self, parent):
frame = Frame(self, parent)
Но я видел это в другом месте для третьей строки:
Frame.__init__(self, parent)
Я новичок в программировании, python и определенном наследовании, и я хотел знать, правильно ли я понимаю разницу между ними. Я много изучал и читал, я обещаю, но я не мог найти ничего, что сделало бы его совершенно ясным:
В первой ситуации я не вызываю метод init, так как я создал объект Frame (frame), и когда объект создается, его метод init неявно называется python.
Во втором сценарии один вызывает метод init в классе (который, как мне кажется, полностью легитим?), потому что объект Frame не был создан, поэтому он не будет делать это автоматически.
Правильно ли это?
Я также видел:
frame = Frame.__init__(self, parent)
который действительно меня отбросил. Это просто кто-то делает что-то лишнее или есть причина для этого?
Благодарим вас за помощь, сейчас я хочу сделать это медленно и убедиться, что полностью понимаю любую строку кода, которую я пишу, когда я иду, а не писать и запускать всю программу, которую я понимаю наполовину.