Maison > développement back-end > Tutoriel Python > Comment la fonction `setattr()` de Python attribue-t-elle des attributs aux objets ?

Comment la fonction `setattr()` de Python attribue-t-elle des attributs aux objets ?

Mary-Kate Olsen
Libérer: 2024-12-01 09:35:10
original
372 Les gens l'ont consulté

How Does Python's `setattr()` Function Assign Attributes to Objects?

Assignation d'attributs en Python : exploration de setattr()

Imaginez un scénario dans lequel vous possédez un objet Python nommé x et une chaîne appelée s. L'objectif est d'attribuer par programme l'attribut s à l'objet x, permettant d'accéder à x.myAttr et de récupérer sa valeur, « magique ».

Le secret réside dans la fonction setattr() :

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

Cette fonction prend trois arguments :

  • object : L'objet dont les attributs sont modifiés of.
  • name : Le nom de l'attribut à définir.
  • value : La valeur qui sera attribuée à l'attribut.

En appelant setattr( x, attr, 'magic'), vous définissez effectivement l'attribut myAttr sur l'objet x à la valeur 'magic'.

Pour plus de précisions, consultez la fonction d'aide :

>>> help(setattr)
Help on built-in function setattr in module __builtin__:

setattr(...)
    setattr(object, name, value)
    
    Set a named attribute on an object; setattr(x, 'y', v) is equivalent to
    ``x.y = v''.
Copier après la connexion

Il convient de noter que cette technique peut ne pas être applicable aux instances pures de la classe d'objet. Cependant, cela est souvent utile avec les sous-classes d’objets. Néanmoins, la création d'instances pures d'objet est généralement déconseillée.

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