Использование общего словаря в классе
Не могу понять причину не накопления данных в словаре
class CLASS_A:
def __init__(self):
self.classDict = {
'a': 'aaaa',
'b': '',
}
class CLASS_B(CLASS_A):
def __init__(self):
super().__init__()
def funkB(self):
print(self.classDict)
self.classDict['b'] = 'bbbb'
print(self.classDict)
class CLASS_C(CLASS_B):
def __init__(self):
super().__init__()
def funkC(self):
print(self.classDict)
self.classDict.update({'c': 'cccc'})
print(self.classDict)
tB = CLASS_B()
tB.funkB()
tC = CLASS_C()
tC.funkC()
Ожидается, что словарь classDict будет наполняться и в результате получу:
...
{'a': 'aaaa', 'b': 'bbbb', 'c': 'cccc'}
Но в реальности получаю такой вывод:
{'a': 'aaaa', 'b': ''}
{'a': 'aaaa', 'b': 'bbbb'}
{'a': 'aaaa', 'b': ''}
{'a': 'aaaa', 'b': '', 'c': 'cccc'}
Как правильно накапливать данные в словаре?
Источник: Stack Overflow на русском