class Test:
W = 0
def __init__(self, l, A):
self.l = l
self.A = A
@property
def A(self):
try:
return self._A
except AttributeError:
return 0
@A.setter
def A(self, value):
Test.W += (value - self.A) * self.l
self._A = value
instance1 = Test(5, 10)
instance2 = Test(3, 7)
instance3 = Test(6, 13)
print(Test.W)
instance1.A = 20
instance2.A = 30
instance3.A = 40
print(Test.W)
Y2xhc3MgVGVzdDoKICAgIFcgPSAwCgogICAgZGVmIF9faW5pdF9fKHNlbGYsIGwsIEEpOgogICAgICAgIHNlbGYubCA9IGwKICAgICAgICBzZWxmLkEgPSBBCgogICAgQHByb3BlcnR5CiAgICBkZWYgQShzZWxmKToKICAgICAgICB0cnk6CiAgICAgICAgICAgIHJldHVybiBzZWxmLl9BCiAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgogICAgICAgICAgICByZXR1cm4gMAoKICAgIEBBLnNldHRlcgogICAgZGVmIEEoc2VsZiwgdmFsdWUpOgogICAgICAgIFRlc3QuVyArPSAodmFsdWUgLSBzZWxmLkEpICogc2VsZi5sCiAgICAgICAgc2VsZi5fQSA9IHZhbHVlCgppbnN0YW5jZTEgPSBUZXN0KDUsIDEwKQppbnN0YW5jZTIgPSBUZXN0KDMsIDcpCmluc3RhbmNlMyA9IFRlc3QoNiwgMTMpCgpwcmludChUZXN0LlcpCgppbnN0YW5jZTEuQSA9IDIwCmluc3RhbmNlMi5BID0gMzAKaW5zdGFuY2UzLkEgPSA0MAoKcHJpbnQoVGVzdC5XKQ==