使用python的super时出现的TypeError: mus
2018-01-18 本文已影响0人
下一秒永远
示例如下:
class Human():
def __init__(self,name,age):
pass.......
class Studen(Human):
def __init__(self,school):
super(Student,self).__init__(name,age)
stu = Student('aa','bb',19)
但是运行报错:TypeError: must be type, not classobj
查找资料之后发现,python中super只能应用于新类,而不能应用于经典类
所谓新类:就是所有类都必须要有继承的类,如果什么都不想继承,就继承到object类。下面是一个新类的例子
class A(B):
pass...
所谓经典类:就是什么都不用继承的类,例如:
class A():
pass.....
产上上面的问题,而自己又不知道父类该继承什么,最简单的方法就是让它去继承object类,例如:
class Human(object):
def __init__(self,name,age):
pass.......