Dans le domaine de la programmation, la tenue d'un enregistrement organisé des instances de classe peut s'avérer inestimable. Imaginez un scénario dans lequel, à la fin d'un programme, vous cherchez à compiler un dictionnaire de variables spécifiques extraites de toutes les instances d'une classe particulière.
Considérez la structure de classe suivante :
<code class="python">class Foo(): def __init__(self): self.x = {}</code>
Instances de cette classe sont créés et notés foo1, foo2, etc. Pour établir un registre centralisé qui suit toutes les instances, une stratégie efficace consiste à utiliser des variables de classe :
<code class="python">class A(object): instances = [] def __init__(self, foo): self.foo = foo A.instances.append(self)</code>
Cette approche garantit que chaque instance ajoutée à la classe est automatiquement enregistrée dans la liste des instances.
Pour récupérer sans effort les variables souhaitées de chaque instance, utilisez la technique suivante :
<code class="python">foo_vars = {id(instance): instance.foo for instance in A.instances}</code>
Cet extrait de code parcourt la liste des instances, en utilisant une compréhension de dictionnaire pour créer un nouveau dictionnaire où les clés sont des ID d'instance et les valeurs sont les variables foo de chaque instance.
Essentiellement, cette méthode fournit un moyen centralisé et efficace de suivre les instances de classe, vous permettant d'accéder simultanément aux données cruciales de plusieurs instances.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!