Maison > développement back-end > Tutoriel Python > Comment empêcher le partage de données de classe entre instances en Python ?

Comment empêcher le partage de données de classe entre instances en Python ?

Susan Sarandon
Libérer: 2024-12-25 02:28:09
original
359 Les gens l'ont consulté

How to Prevent Class Data Sharing Between Instances in Python?

Comment isoler les données de classe pour des instances individuelles

Pour éviter que les données de classe soient partagées entre plusieurs instances et garantir que chaque instance conserve ses propres données, suivez ces étapes :

Déclarez les variables dans le constructeur (__init__ Méthode)

Au lieu de déclarer des variables de niveau classe en dehors de toute méthode, définissez-les dans la méthode constructeur init. Par exemple :

class a:
    def __init__(self):
        self.list = []  # Declared within __init__ to create instance-specific lists
Copier après la connexion

En initialisant la liste dans __init__, une nouvelle instance de la liste est créée à côté de chaque nouvelle instance de l'objet.

Exemple de code :

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]
Copier après la connexion

Dans cet exemple, la liste n'est plus partagée entre les deux instances (x et y), et chaque instance conserve son propre données, comme vous le souhaitez.

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