Я столкнулся со странным поведением с + = при изучении статических методов.
Вот мой код:
class Box:
totalMass = 0
def __init__(self, mass):
Box.totalMass += mass
def getMassconsumption():
return Box.totalMass
o1 = Box(2)
o2 = Box(10)
print(Box.getMassconsumption())
Как и ожидалось, он возвращает значение:
12
Однако, когда я изменяю строку 4 на:
Box.totalMass += 1
Возвращает значение:
2
Увеличивает добавленную стоимость до 2, 3, 4 и т. Д.. дает:
4
6
8
, кратный 2, независимо от ввода.Теперь я почти уверен, что не понимаю ни кода в моей тетради, ни того, как + = работает в этой ситуации.Может ли кто-нибудь объяснить, что здесь происходит?