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)
Dans ce scénario spécifique, vous l'utiliseriez comme suit :
setattr(x, attr, 'magic')
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!