Ich möchte den Wert eines Mitglieds eines Objekts ändern. Ich kann das tun, solange ich das Objekt selbst adressiere. Wenn ich jedoch einen Verweis auf dieses Mitglied speichere, funktioniert es nicht. Stattdessen ändert es das Referenzobjekt.Referenzobjekte für den Zugriff auf Mitglieder
class MyClass:
def __init__(self, name):
self.a = 1
self.b = name
obj1=MyClass("string")
refob1=obj1.a
refob2=obj1.b
#I can change my object like this:
obj1.a=99
obj2.b="changed"
#But not like this:
refob1 = 1
refob2 = "changed_reference"
Wie kann ich das Referenzobjekt verwenden, um die Mitglieder zu ändern?
Dies ist nicht speziell für Instanzen. Du würdest dasselbe mit 'foo = 3',' foref = foo', 'foo = 4' bekommen. Sie springen einen Namen zurück, um auf ein neues Objekt zu zeigen, so dass "foref" diese Änderung nicht mehr sehen wird. –