So isolieren Sie Klassendaten für einzelne Instanzen
Um zu vermeiden, dass Klassendaten von mehreren Instanzen gemeinsam genutzt werden, und um sicherzustellen, dass jede Instanz ihre eigenen Daten verwaltet, Befolgen Sie diese Schritte:
Deklarieren Sie Variablen im Konstruktor (__init__ Methode)
Anstatt Variablen auf Klassenebene außerhalb einer Methode zu deklarieren, definieren Sie sie innerhalb der Konstruktormethode init. Zum Beispiel:
class a: def __init__(self): self.list = [] # Declared within __init__ to create instance-specific lists
Durch die Initialisierung der Liste in __init__ wird neben jeder neuen Instanz des Objekts eine neue Instanz der Liste erstellt.
Beispielcode:
class a: def __init__(self): self.list = [] x = a() y = a() x.list.append(1) y.list.append(2) x.list.append(3) y.list.append(4) print(x.list) # prints [1, 3] print(y.list) # prints [2, 4]
In diesem Beispiel wird die Liste nicht mehr zwischen den beiden Instanzen (x und y) geteilt und jede Instanz verwaltet wie gewünscht ihre eigenen separaten Daten .
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3