changer dynamiquement la classe d'une instance
Bonjour,
Est-il possible de changer dynamiquement la/les classes d'une instance ?
Est-ce raisonnable ? Pythonique ?
Une utilisation possible serait de rajouter dynamiquement un descripteur à une instance (et pas à toutes les autres instances de sa classe).
Merci d'avance pour vos idées
Pas de changement de type
Bonjour,
En python, tu ne peux pas changer dynamiquement le type d'un objet. Par conséquent pas de changement de classe non plus
Par contre, dans le cas qui t'occupe tu peux très bien modifier la docstring associée.
Code:
1 2 3 4 5 6 7 8 9 10 11
|
class A(object):
u"""
Documentation ici
"""
pass
if __name__ == "__main__":
a = A()
a.__doc__ = u"Quelque chose" |
De même, tu peux aussi ajouter dynamiquement des méthodes et des propriété. Tu peux aussi créer dynamiquement une nouvelle classe
avec type(...) et instancier un objet de cette nouvelle classe.
Les possibilités sont très nombreuses. Je te laisse t'amuser avec