Maison >développement back-end >Tutoriel Python >Comment puis-je garantir des données spécifiques à une instance dans les classes Python ?
Données spécifiques à une instance dans les classes
Dans la programmation orientée objet, il est possible que les instances d'une classe partagent des données. Cela peut être indésirable lorsque vous souhaitez que chaque instance conserve ses propres données distinctes.
Supposons que nous ayons la classe suivante :
class A: list = []
Lorsque nous créons des instances de cette classe, elles partagent toutes le même attribut de liste :
>>> x = A() >>> y = A() >>> x.list.append(1) >>> y.list.append(2) >>> print(x.list) [1, 2] >>> print(y.list) [1, 2]
Pour éviter ce comportement et fournir des instances distinctes pour chaque objet, nous pouvons modifier la classe déclaration :
class A: def __init__(self): self.list = []
En déclarant list dans la méthode __init__, nous créons une nouvelle instance de list pour chaque nouvelle instance de A. Cela garantit que chaque instance de A a son propre attribut de liste indépendant :
>>> x = A() >>> y = A() >>> x.list.append(1) >>> y.list.append(2) >>> print(x.list) [1] >>> print(y.list) [2]
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!