Maison >développement back-end >Tutoriel Python >Comment puis-je définir par programme les attributs d'objet en Python ?

Comment puis-je définir par programme les attributs d'objet en Python ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-07 08:44:12172parcourir

How Can I Programmatically Set Object Attributes in Python?

Définition par programme des attributs en Python

Vous êtes confronté à une tâche dans laquelle vous devez définir par programme un attribut d'un objet. Le but est de mettre en cache les appels à la méthode __getattr__() de l'objet. Pour y parvenir, vous pouvez utiliser la fonction setattr.

La syntaxe de setattr est :

setattr(object, attribute_name, value)

Voici un exemple pratique :

x = SomeObject()
attr = 'myAttr'
setattr(x, attr, 'magic')
assert x.myAttr == 'magic'

En utilisant setattr, vous pouvez attribuer dynamiquement des valeurs aux attributs d'un objet. Cependant, il est important de noter que cela peut ne pas fonctionner pour les instances « pures » de la classe d'objet. Si vous n'en êtes pas sûr, envisagez d'utiliser une sous-classe appropriée de la classe 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!

Déclaration:
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