Maison > développement back-end > Tutoriel Python > Comment puis-je garantir des données spécifiques à une instance dans les classes Python ?

Comment puis-je garantir des données spécifiques à une instance dans les classes Python ?

Linda Hamilton
Libérer: 2024-12-26 07:40:09
original
636 Les gens l'ont consulté

How Can I Ensure Instance-Specific Data in Python Classes?

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

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

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

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

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