python运行出现TypeError: super() takes at least 1 argument (0 given)错误

在写继承子类的时候出现了TypeError: super() takes at least 1 argument (0 given)的error;

源代码(python3中完美可运行):

python运行出现TypeError: super() takes at least 1 argument (0 given)错误
class Example(QWidget):
    
    def __init__(self):
        super().__init__()
        
        self.initUI() #界面绘制交给InitUi方法
        
        
python运行出现TypeError: super() takes at least 1 argument (0 given)错误

 

原因是super().__init__()函数在python3中支持,是正确的,但是放到python2中会出现问题;

如果在python2想要继承父类的构造方法,则需要给super参数中传入参数:super(Example,self).__init__();

python2中需这样写:

python运行出现TypeError: super() takes at least 1 argument (0 given)错误
class Example(QWidget):
    
    def __init__(self):
        super(Example,self).__init__()
        
        self.initUI() #界面绘制交给InitUi方法
         
python运行出现TypeError: super() takes at least 1 argument (0 given)错误

 

上一篇:Python中报错提示:TypeError: Cat() takes no arguments


下一篇:python+win32+ie浏览器操作 TypeError: getElementById() takes exactly 1 argument (2 given)