C++,python,热爱算法和机器学习
全部博文(1214)
分类: Python/Ruby
2012-09-06 09:50:03
super() argument 1 must be type, not classobj
查了下原因,了解到PYTHON里的SUPER只能用在新式类中,不能用于以前的经典类,如果基类是经典类则会出这个错。
新式类:就是所有类都必须继承的类,如果什么都不想继承,就继承到object类。
经典类:没有父类
不过还是发现super的一个问题,如果子类继承自两个父类,那super如何决定调用哪一个父类的方法呢?我试验的结果是调用第一个父类的。这时通常使用直接调用。
class A(object):