Maison >développement back-end >Tutoriel Python >Comment puis-je définir par programme un attribut sur un objet Python ?

Comment puis-je définir par programme un attribut sur un objet Python ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-15 00:28:10748parcourir

How Can I Programmatically Set an Attribute on a Python Object?

Définition des attributs par programme

Problème :

Considérant un objet Python x et une chaîne s, comment pouvez-vous définir le l'attribut est activé x?

x = SomeObject()
attr = 'myAttr'

# Magic spell here

x.myAttr
'magic'

Solution :

Pour effectuer cette opération magique, utilisez la fonction setattr() :

setattr(x, attr, 'magic')

Comprendre setattr() :

help(setattr)

Cette commande fournit les éléments suivants information :

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''.

Remarque :

Bien que cette technique puisse être appliquée aux instances d'objet de sous-classe, la création d'instances pures d'objet est fortement 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!

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