Код, с которым у меня на самом деле проблема, очень длинный, поэтому я сделал пример, который отображает мою проблему.
У меня есть два класса, которые наследуются от базового класса ( BaseClass ).Оба эти класса добавляют некоторые элементы к self.Dict .Тем не менее, они, кажется, пересекают элементы загрязнения.Я ожидал, что c0.Dict вернет {'class0': 0} и c1.Dict вернет {'class1': 1} .Однако они оба возвращают {'class0': 0, 'class1': 1} .Почему они перекрестно загрязняют?
class BaseClass :
def __init__ (self, _dict={}) :
self.Dict = _dict
class Class0 (BaseClass) :
def __init__ (self) :
BaseClass.__init__(self)
self.Dict['class0'] = 0
class Class1 (BaseClass) :
def __init__ (self) :
BaseClass.__init__(self)
self.Dict['class1'] = 1
c0 = Class0()
c1 = Class1()
print c0.Dict
print c1.Dict