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
Susan Sarandonoriginal
2024-12-25 02:28:09366parcourir

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

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]

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!

Déclaration:
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