"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > 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 ?

Publié le 2024-12-22
Parcourir:793

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 (méthode __init__)

Au lieu de En déclarant des variables au niveau de la 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 ses propres données distinctes, comme vous le souhaitez .

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3