试图了解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()
super()让您避免显式引用基类,这很好。但主要优势在于多重继承,可以发生各种有趣的事情。如果您还没有,请参阅super 上的标准文档。
请注意,Python 3.0 中的语法发生了变化super().__init__():您可以说super(ChildB, self).__init__()哪个 IMO 更好一些。标准文档还参考了使用指南,super()该指南非常易于解释。
super().__init__()
super(ChildB, self).__init__()