• python类中super()和__init__()的区别


    class Base(object):     def __init__(self):        

    print 'Base create'

    class childB(Base):    

    def __init__(self):        

    print 'creat B ',        

    super(childB, self).__init__()

    class childA(childB,Base):    

    def __init__(self):        

    print 'creat A ',        

    Base.__init__(self)

    if __name__=="__main__":

    childA()

    结果:creat A  Base create

    class Base(object):    

    def __init__(self):        

    print 'Base create'

    class childA(Base):    

    def __init__(self):        

    print 'creat A ',        

    Base.__init__(self)

    class childB(childA,Base):    

    def __init__(self):        

    print 'creat B ',        

    super(childB, self).__init__()

    if __name__=="__main__":    

    childB()

    结果:creat B  creat A  Base create

    class Base():    

    def __init__(self):        

    print 'Base create'

    class childA(Base):    

    def __init__(self):        

    print 'creat A ',        

    Base.__init__(self)

    if __name__=="__main__":
        childA()

    结果:creat A  Base create

    class Base():    

    def __init__(self):        

    print 'Base create'

    class childA(Base):    

    def __init__(self):        

    print 'creat B ',        

    super(childA, self).__init__()

    if __name__=="__main__":     

    childA()

    结果:

    creat B
    Traceback (most recent call last):
      File "D:eclipse est est1.py", line 17, in <module>
        childA()
      File "D:eclipse est est1.py", line 14, in __init__
        super(childA, self).__init__()
    TypeError: super() argument 1 must be type, not classobj

  • 相关阅读:
    DVD X Player 5.5 PRO
    Freefloat FTP Server 1.0漏洞分析
    基于约束的SQL攻击
    Commons-Collections漏洞
    Code-Audit-Challenges-php-2
    GSM Sniffer环境--c118+osmocombb
    XXE (XML External Entity Injection) :XML外部实体注入
    hyperledger fabric学习(1)
    zero to one (4)
    zero to one (3)
  • 原文地址:https://www.cnblogs.com/xianhaiyan/p/5981388.html
Copyright © 2020-2023  润新知