Bonjour,
je sais que la fonction __getattribute__ doit être utilisée avec précaution, mais j'aurais besoin de l'écraser dans l'un de mes objets.
Mais l'écraser que dans certain cas, donc pas à la construction de mon objet car cette decision se se fait par le model.
Je tente donc de faire
a = MaClass()
a.__getattribute__ = lambda name: mafunction(name)
Mais c'est toujours le __getattribute__ de base qui est utilisé.
Alors je peux faire ca:
MaClass.__getattribute__ = lambda self, name: mafunction(self, name)
Mais j'aimerais éviter si possible.
Est ce qu'il y a un moyen d'overrider le getattribute on the fly, ou alors une fois l'objet créé cela ne peut plus bouger ?
Partager