On Sun, Jun 29, 2008 at 7:07 PM, Daniele Varrazzo <[EMAIL PROTECTED]> wrote: >> Vorrei condividere con voi del codice che ho scritto per creare setter >> e getter "automatici". >> potete visionarlo al seguente url: >> http://rafb.net/p/bQDQAF11.html
> http://www.python.org/download/releases/2.2.3/descrintro/#metaclass_examples Grazie mille per le risposte! ho utilizzato il trick della metaclasse documentato sul manuale e funziona alla grande! (per quanto riguarda PEAK, invece non ho ben capito di cosa si tratti, mi sembra un po' fumoso come progetto) il codice di ImprovedObject si e' ridotto a questo: class ImprovedObject(object): def __init__(self): self.__metaclass__ = autoprop l'assegnazione di __metaclass__ l'ho messa nell'__init__ della superclasse al fine di non doverla dichiarare nelle classi figlie. Le metaclassi sono molto interessanti, cosi' come tutto l'aspetto di introspezione del python e le magnifiche lambda. Ho come l'impressione che tutti questi elementi manderanno in pensione un sacco di design pattern descritti in letteratura. per Marco: e' vero, avrei potuto anche utilizzare direttamente property() ma nel caso di un gran numero di variabili d'istanza diventa troppo ripetitivo ogni volta dover specificare che il getter/setter di "foobar" e' get_foobar/set_foobar. A livello di quantita' di codice cerco le soluzioni piu' "riassuntive" possibili. grazie, e alla prossima! Francesco _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python