Verfolgen von Klasseninstanzen für die Variablensammlung
Das Verwalten einer Liste von Instanzen für eine bestimmte Klasse ermöglicht das effiziente Abrufen spezifischer Variablen aus jeder Instanz eine spätere Programmphase.
Klassenvariabler Ansatz
Ein geeigneter Eine Methode zum Verfolgen von Klasseninstanzen besteht darin, eine Klassenvariable zu verwenden. Das folgende Beispiel veranschaulicht diesen Ansatz:
class Foo: instances = [] def __init__(self): self.x = {} Foo.instances.append(self)
Diese Technik erstellt eine gemeinsame Liste von Instanzen innerhalb der Klasse. Wenn jede Instanz erstellt wird, hängt sie sich selbst an die Liste an.
Abrufen von Instanzvariablen
Um am Ende des Programms x Wörterbücher aus allen Instanzen zu sammeln, erstellen Sie ein neues Wörterbuch:
foo_vars = {id(instance): instance.x for instance in Foo.instances}
Hier stellt id() eindeutige Bezeichner für jede Instanz bereit und ermöglicht so die Erstellung eines Wörterbuchs mit Instanz-IDs als Schlüssel und x Wörterbüchern als Werten.
Freigegebene Liste
Der Klassenvariablenansatz stellt sicher, dass für alle Instanzen unabhängig von deren Anzahl nur eine Liste, Instanzen, verwaltet wird. Dadurch entfällt die Notwendigkeit, einzelne Listen für jede Instanz zu verfolgen.
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