【发布时间】:2011-05-17 02:09:32
【问题描述】:
我一直在使用:
SuperClass.__init__(self, *args, **kwargs)
我的原因是这明确显示了使用哪个超类,尤其是在多重继承的情况下。
但是,我遇到的其他代码使用
super(MyClass, self).__init__(*args, **kwargs)
改为。
当它用于以下场合时可能会变得模棱两可:
class MyClass(SuperClass1, SuperClass2):
def __init__(self, *args, **kwargs):
super(MyClass, self).__init__(*args, **kwargs) #which SuperClass is being used?
我想知道为什么这种调用方式被广泛采用?有什么优势吗?
【问题讨论】: