Comment suivre et récupérer efficacement les variables d'instance dans les classes Python ?

Susan Sarandon
Libérer: 2024-10-27 07:37:02
original
438 Les gens l'ont consulté

 How to Efficiently Track and Retrieve Instance Variables in Python Classes?

Suivi des instances de classe pour la collecte de variables

Le maintien d'une liste d'instances pour une classe particulière permet une récupération efficace de variables spécifiques de chaque instance à une étape ultérieure du programme.

Approche des variables de classe

Une méthode appropriée pour suivre les instances de classe consiste à utiliser une variable de classe. L'exemple suivant illustre cette approche :

class Foo:
    instances = []

    def __init__(self):
        self.x = {}
        Foo.instances.append(self)
Copier après la connexion

Cette technique crée une liste partagée d'instances au sein de la classe. Au fur et à mesure que chaque instance est créée, elle s'ajoute à la liste.

Récupération des variables d'instance

Pour collecter x dictionnaires de toutes les instances à la fin du programme, créez un nouveau dictionnaire :

foo_vars = {id(instance): instance.x for instance in Foo.instances}
Copier après la connexion

Ici, id() fournit des identifiants uniques pour chaque instance, permettant la création d'un dictionnaire avec les ID d'instance comme clés et x dictionnaires comme valeurs.

Liste partagée

L'approche des variables de classe garantit qu'une seule liste, les instances, est conservée dans toutes les instances, quel que soit leur nombre. Cela élimine le besoin de suivre des listes individuelles pour chaque instance.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!