Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 类继承自身?关于继承和super()方法的问题_Python_Class_Oop_Tkinter_Kivy - Fatal编程技术网

Python 类继承自身?关于继承和super()方法的问题

Python 类继承自身?关于继承和super()方法的问题,python,class,oop,tkinter,kivy,Python,Class,Oop,Tkinter,Kivy,我有一个关于Python中的类、子类和继承的问题 我已经使用Tkinter进行GUI开发一段时间了,并决定学习如何使用Kivy。在Kivy文档中,我遇到了一行对我来说毫无意义的代码。如下所示(注意,GridLayout是从kivy模块导入的I类): 调用LoginScreen和self而不是GridLayout的super真让我困惑!类是否继承自身?发生了什么事 在Tkinter中,我将编写如下内容(再次注意,tk.Frame是从Tkinter模块导入的类): 当我输入这两个示例时,我注意到我没

我有一个关于Python中的类、子类和继承的问题

我已经使用Tkinter进行GUI开发一段时间了,并决定学习如何使用Kivy。在Kivy文档中,我遇到了一行对我来说毫无意义的代码。如下所示(注意,
GridLayout
是从kivy模块导入的I类):

调用LoginScreen和self而不是GridLayout的
super
真让我困惑!类是否继承自身?发生了什么事

在Tkinter中,我将编写如下内容(再次注意,
tk.Frame
是从Tkinter模块导入的类):

当我输入这两个示例时,我注意到我没有将任何内容传递到
super()
。super方法的默认参数是类和self的名称吗?i、 以上是不是类似于写作

class LoginScreen(tk.Frame):

    def __init__(self, parent):
        super(LoginScreen, self).__init__(parent) 

如果它们不同,你能解释它们不同的原因吗?但是如果它们相同,你能更深入地解释一下
super()
是如何做的(不仅仅是继承父类的方法和属性)?

是,这些是
super
的默认参数,您可以在以下示例中看到:

C类(B类):
def方法(self,arg):
super().method(arg)#这与:
#super(C,self).方法(arg)
(注释不是我的,在原始示例中是这样的)

class LoginScreen(tk.Frame)
   
    def __init__(self, parent):
        super().__init__(parent)
class LoginScreen(tk.Frame):

    def __init__(self, parent):
        super(LoginScreen, self).__init__(parent)