Heim > Backend-Entwicklung > Python-Tutorial > Wie kann die gemeinsame Nutzung von Klassendaten zwischen Instanzen in Python verhindert werden?

Wie kann die gemeinsame Nutzung von Klassendaten zwischen Instanzen in Python verhindert werden?

Susan Sarandon
Freigeben: 2024-12-25 02:28:09
Original
359 Leute haben es durchsucht

How to Prevent Class Data Sharing Between Instances in Python?

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
Nach dem Login kopieren

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]
Nach dem Login kopieren

In diesem Beispiel wird die Liste nicht mehr von den beiden Instanzen (x und y) gemeinsam genutzt und jede Instanz verwaltet ihre eigene Daten, wie gewünscht.

Das obige ist der detaillierte Inhalt vonWie kann die gemeinsame Nutzung von Klassendaten zwischen Instanzen in Python verhindert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage