15
Pythonのsuper()は多重継承でどのように機能しますか?
私はPythonオブジェクト指向プログラミングでかなり新しいsuper()ので、特に多重継承に関しては、関数(新しいスタイルクラス)を理解するのに苦労しています。 たとえば、次のような場合: class First(object): def __init__(self): print "first" class Second(object): def __init__(self): print "second" class Third(First, Second): def __init__(self): super(Third, self).__init__() print "that's it" 取得できないのは、Third()クラスが両方のコンストラクターメソッドを継承するかどうかです。はいの場合、どれがsuper()で実行されますか?その理由は? そして、もう一方を実行したい場合はどうなりますか?私はそれがPythonメソッド解決順序(MRO)と関係があることを知っています。