1

次のコードがあるとします。

class Parent(object):
    counter = 0

    @classmethod
    def inc(cls):
        cls.counter += 1

class Child(Parent):
    pass

Child.inc()
print Parent.counter, Child.counter

私のテストでは、このコードは次のように出力します: 0 1

上記のコードは、子に属性カウンターを作成し、それをインクリメントするようです。次のようにスーパーを使用してみました:

class Child(Parent):
    @classmethod
    def inc(cls):
        super(Child,cls).inc()

しかし、結果は同じです。

親と子の両方が同じカウンターにとどまり、印刷されるように、incメソッドで親をインクリメントするにはどうすればよいですか: 1 1

前もって感謝します。

4

1 に答える 1