Comment fonctionne l'affectation de variables en Python : classes, instances et références d'objets ?

Mary-Kate Olsen
Libérer: 2024-11-03 09:10:29
original
502 Les gens l'ont consulté

How Does Variable Assignment Work in Python: Classes, Instances, and Object References?

Affectation de variables Python

Il est important de comprendre qu'en Python, le terme « déclaration de variable » n'est pas utilisé. Au lieu de cela, les variables sont créées par affectation, en donnant simplement un nom à un objet.

Affectation d'attributs de classe

Les variables au sein d'un corps de classe sont considérées comme des attributs de classe, partagés entre tous. instances de cette classe.

<code class="python">class Writer:
    path = ""
    customObj = CustomType()  # Create variable to hold custom type object</code>
Copier après la connexion

Attribution d'attributs d'instance

Les attributs peuvent également être attribués à des instances individuelles à l'aide de la méthode __init__() ou en les attribuant directement à l'instance. attribut :

<code class="python">def __init__(self, path, customObj):
    self.path = path
    self.customObj = customObj  # Assign custom type object to instance

instance = Writer("/my/path", CustomType())</code>
Copier après la connexion

Comprendre les objets de Python

En Python, les classes sont des objets et les variables sont des noms qui font référence à des objets. Les attributs de classe existent sur l'objet de classe, tandis que les attributs d'instance sont créés et stockés sur des instances individuelles.

Attribution aux attributs d'instance

Lors de l'attribution à un attribut d'instance, Python vérifie l'instance en premier. Si l'attribut n'existe pas sur l'instance, il recherchera la classe. Cependant, les modifications apportées à un attribut d'instance n'affecteront que cette instance spécifique, préservant l'attribut de classe d'origine.

Listes et mutations

Il est important de noter que l'attribution à un L'objet list ne crée pas une nouvelle liste, mais modifie plutôt celle existante. Par conséquent, les modifications apportées à un attribut de liste dans une instance seront visibles dans toutes les autres instances utilisant ce même attribut de liste.

Conclusion

En résumé, Python utilise l'affectation pour créer et modifier des variables. Les attributs de classe et d'instance peuvent être déclarés pour contenir différents types de données, y compris des objets personnalisés. Comprendre la nature hiérarchique des attributs d'objet en Python est crucial pour gérer efficacement les données au sein des classes et des instances.

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