美文网首页
使用python的super时出现的TypeError: mus

使用python的super时出现的TypeError: mus

作者: 下一秒永远 | 来源:发表于2018-01-18 17:56 被阅读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.......

    相关文章

      网友评论

          本文标题:使用python的super时出现的TypeError: mus

          本文链接:https://www.haomeiwen.com/subject/uswwoxtx.html