用__init __()方法理解Python super()

用__init __()方法理解Python super()

我正在努力了解它的用法super()。从它的外观来看,可以创建两个子类,就好了。

我很想知道以下2个孩子班级之间的实际差异。

class Base(object):
    def __init__(self):
        print "Base created"class ChildA(Base):
    def __init__(self):
        Base.__init__(self)class ChildB(Base):
    def __init__(self):
        super(ChildB, self).__init__()ChildA() ChildB()


隔江千里
浏览 1463回答 3
3回答

偶然的你

super()让你避免显式引用基类,这可能很好。但主要优势在于多重继承,可以发生各种有趣的事情。如果您还没有,请参阅super上的标准文档。请注意,Python 3.0中的语法已更改:您可以说,super().__init__()而不是super(ChildB, self).__init__()哪个IMO更好一点。标准文档也引用了使用super()的指南,这是非常明确的解释。
打开App,查看更多内容
随时随地看视频慕课网APP