[Python] Decoratori a runtime su classe

Matteo Boscolo matteo.boscolo a boscolini.eu
Gio 19 Apr 2012 16:47:49 CEST


Ciao a tutti
devo trasformare gli attributi della mia classe da

class myClass(object):
     def __init__(self):
         self.pippo=10

a

class myClass(object):
     def __init__(self):
         self._pippo=10

tutto cio per evitare dei problemi di ricorsione con il modulo pickle
adesso uso questa tecnica:

     @property
     def pippo(self):
         try:
             return self._pippo
         except:
             self._pippo=self.__dict__['pippo']
             return self._pippo

     @pippo.setter
     def pippo(self,value):
         self.markChanged()
         self._pippo=value

fatto sta che per farlo in alcune classi mi devo scrivere una valangata 
di codice, e diciamocela tutta .. vista cosė fa anche schifetto ..
c'e' un modo secondo voi di parametrizzare il tutto in modo semlice ...

tipo:

class myClass(object):
     def __init__(self):
         self._pippo=10
         customDecore(self._pippo)

dove customDecore fa lo sporco lavoro e aggiunge alla classe tutta 
quella spataffiata di roba?


grazie mille
ciao
Matteo



Maggiori informazioni sulla lista Python