J'essaye de créer une classe qui doit être une superclasse d'autres, en traçant leurs requêtes d'attributs. Je pensais à l'aide de « getattribute » qui obtient toutes les demandes d'attributs, mais il génère récursion:Classe Mixin pour suivre les demandes d'attribut - __attribute__ recursion
class Mixin(object):
def __getattribute__ (self, attr):
print self, "getting", attr
return self.__dict__[attr]
Je sais pourquoi je suis récursion: il est pour moi. dict appel qui rappelle getattribute récursivement. J'ai essayé de changer la dernière ligne "return object.__getattribute__(self,attr)"
comme suggéré dans d'autres messages mais la récursivité est rappelée.
Utiliser 'objet retour .__ getattribute __ (self, attr)' fonctionne pour moi. Pouvez-vous donner un exemple plus complet de quand vous obtenez la récursivité en utilisant ce code. –