Ich habe noch ein allgemeines Verständnisproblem bzgl. der Referenz den Speicher.
Folgendes Szenario:
Ich habe ein Objekt und fülle eine Liste mit einem Attribut des Objektes.
Nach List.append ändere ich das Attribut des Objektes. Das Attribut in der Liste ändert sich jedoch nicht. Ich dachte, dies wäre ein Bezug auf den Speicher des Objektattributes. Dem ist scheinbar aber nicht so?!
Einfaches Bsp.
Code: Alles auswählen
class obj(object):
name="Name"
Objekt = obj()
Liste = list()
Liste.append(Objekt.name)
print l[0] # = Name
Objekt.name="changedName"
print l[0] # = Name
P.S.
Wenn ich das gesamte Objekt der Liste hinzufüge und via << l[0].name >> wieder auslese wird das nachträgliche Verändern des Wertes auch an die Liste weitergegeben.
Gruß
André