私はクラスがあります。またミックスイン、マルチ継承、コンストラクタ、およびデータは
class A(object):
def __init__(self, *args):
# impl
を「ミックスイン」、いくつかのデータとメソッドを持つ基本的に別のクラス:今、私が作成
class Mixin(object):
def __init__(self):
self.data = []
def a_method(self):
# do something
mixinのAのサブクラス:
class AWithMixin(A, Mixin):
pass
私の問題は、AとMixinの両方のコンストラクタを呼び出すことです。私はAWithMixinにそれ自身のコンストラクタを与えることを考えました。そこではスーパーが呼び出されましたが、スーパークラスのコンストラクタは異なる引数リストを持っています。最高の解像度は何ですか?
2つの基本クラスのコンストラクタを呼び出すのを止めるにはguments)を 'AWithMixin .__ init__'から削除しますか? – NPE
これはすでに深い回答があります。最高のソリューションであるhttp://stackoverflow.com/a/6100595/763269 –