0

これは私には非常に紛らわしいようです。この未知の魔法のようなことがなぜ起こっているのか、誰か説明できますか?

class A(object):
    def testA(self):
        print "TestA of A"
        self.testB()

    def testB(self):
        print "TestB of A"

class B(A):
    def testA(self):
        super(B, self).testA()
        print "TestA of B"
        self.testB()

    def testB(self):
        print "TestB of B"

if __name__ == '__main__':
    test = B()
    test.testA()
    プログラム出力:
    ===============
    A のテスト A
    B の TestB --> 派生クラス メソッドを呼び出しているのはなぜですか?
    BのテストA
    B のテスト B

    期待される出力:
    ================
    A のテスト A
    A の TestB -- ここで A を見たい。
    BのテストA
    B のテスト B

あなたの答えは高く評価されます。ありがとうございました。

4

1 に答える 1