Maison > développement back-end > Tutoriel Python > Comment puis-je définir dynamiquement des attributs dans des objets Python ?

Comment puis-je définir dynamiquement des attributs dans des objets Python ?

Patricia Arquette
Libérer: 2024-12-01 14:39:17
original
583 Les gens l'ont consulté

How Can I Dynamically Set Attributes in Python Objects?

Définition dynamique des attributs en Python

Supposons que vous ayez un objet Python x et une chaîne s. Comment définir par programme l'attribut s sur x de telle sorte que l'attribut soit accessible en tant que x.myAttr ?

Pour ce faire, vous pouvez utiliser la fonction intégrée setattr(), qui a la syntaxe suivante :

setattr(object, name, value)
Copier après la connexion

Dans ce scénario spécifique, vous l'utiliseriez comme suit :

setattr(x, attr, 'magic')
Copier après la connexion

Cela définit effectivement l'attribut attr sur l'objet x à la valeur «magique». Par conséquent, vous pouvez désormais accéder à cet attribut via x.myAttr.

Il est important de noter que cette approche peut être particulièrement utile pour mettre en cache les appels à x.__getattr__(). Gardez cependant à l’esprit que vous ne pouvez pas appliquer directement cette méthode à une pure instance d’objet. Au lieu de cela, il est plus couramment appliqué aux sous-classes personnalisées d'objet.

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