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 .
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