python 调用super()初始化报错“TypeError: super() takes at least 1 argument”


原本代码是这样的:

class Application(tk.Tk): def __init__(self): '''初始化''' super().__init__() # 有点相当于tk.Tk()

但这是python3的用法,在python2.7中必然报错
解决方法如下:

class Application(tk.Tk): def __init__(self): '''初始化''' tk.Tk.__init__(self)# 有点相当于tk.Tk()



还有一种解决方案如下:(这种方法对父类有一定要求,不一定能成功)

class Application(father): def __init__(self): super(Application, self).__init__()

    推荐阅读