Python: abgeleitete Klassen greifen auf das Wörterbuch der Basisklasse am selben Speicherort zu
Ich frage mich, warum ein Wörterbuch, das in einer Basisklasse definiert ist und auf das von abgeleiteten Klassen zugegriffen wird, offensichtlich nur an einem Speicherort vorhanden ist. Ein kurzes Beispiel:
class BaseClass:
_testdict = dict()
_testint = 0
def add_dict_entry(self):
self._testdict["first"] = 1
def increment(self):
self._testint += 1
class Class1(BaseClass):
pass
class Class2(BaseClass):
pass
object1 = Class1()
object2 = Class2()
object1.add_dict_entry()
object1.increment()
print(object2._testdict)
print(object2._testint)
und die Ausgabe ist:
{'first': 1}
0
Warum wirkt sich ein Aufruf des "add_dict_entry" von object1 auf das Dictionary von object2 aus? Bei Verwendung von Ganzzahlen ("Inkrement") ist die Basisklassenvariable nicht betroffen.
Danke vielmals.
Lorenz