0
class A(object):

    def print_some(self):
        print 'a'

class B(object):

    def print_some(self):
        print 'b'

class C(A, B):
    pass

c = C()
print c.print_some()
'a'

出力に期待するのは「b」です。私がこれをしたい理由は、カスタムを含む私が書いたクラスを継承するだけで、いくつかのメソッドをオーバーライドしたいform_validからです.djangoで言ってみましょう.CreateViewform_valid

4

2 に答える 2

4

クラスは命令Aの最初(左)にあるので、クラス(クラス)からメソッドを取得しています。ここを読んでください。class C(A, B)print_someA

于 2012-12-20T10:45:00.777 に答える
0

あなたの質問から、BとCの継承を変更できると思いますね。では、次のように継承を構築してみませんか

A <- B <- C

またはコードで:

class A(object):
    ....

class B(A):
    ...

class C(B):
    ...

これにより、目的の出力が得られます。

于 2012-12-20T12:01:56.243 に答える