我正在创建一个GUI类,其基类为Frame()。
在我的GUI类的init方法中,我想创建一个Frame小部件。
现在我的代码是:
class GUIclass(Frame):
def __init__(self, parent):
frame = Frame(self, parent)
但是我在其他地方看到过第三行的这个表述:
Frame.__init__(self, parent)
我刚刚开始学习编程,对Python和继承一无所知。我想了解两者之间的区别是否正确理解。我做了许多研究和阅读,但是没有找到任何完全清晰的说明:
在第一种情况下,我没有调用init方法,因为我创建了一个Frame对象(frame),并且当对象创建时,Python会自动隐式调用其init方法。
在第二种情况下,我们需要调用类(class)的init方法(我认为这完全合法?),因为没有创建Frame对象,因此它不会自动执行。
我的理解是正确的吗?
我也看到过:
frame = Frame.__init__(self, parent)
这真的让我感到困惑。这只是某人做了一些冗余的事情,还是有什么原因呢?
谢谢您的帮助,我现在想慢慢来,确保我完全理解我写下的每一行代码,而不是写下并运行一个我只有一半理解的整个程序。
Frame.__init__(self, parent)
。 - Malik Brahimisuper().__init__(*arguments)
пјҢеңЁPython2дёӯдҪҝз”Ёsuper(GUIclass, self).__init__(*arguments)
пјҲеҒҮи®ҫдёәж–°ејҸзұ»пјүгҖӮжӯӨеӨ–пјҢPEP8规е®ҡе°Ҷзұ»е‘ҪеҗҚдёәGUIClass
гҖӮ - Sebastian Riese