[Python] override di __getattribute__ per avere getter e setter "automatici"
Lawrence Oluyede
l.oluyede a gmail.com
Dom 29 Giu 2008 22:11:23 CEST
2008/6/29 Francesco Stablum <stablum a gmail.com>:
> 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.
Cosi però devi stare attento a non sovrascrivere l'init di
ImprovedObject. E se lo sovrascrivi ricordati di chiamarlo ;)
> 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.
Beh già vari design pattern sono parte del linguaggio Python e delle
sue strutture dati, non c'è bisogno di arrivare sino alle metaclassi
:P
--
Lawrence, stacktrace.it - oluyede.org - neropercaso.it
"It is difficult to get a man to understand
something when his salary depends on not
understanding it" - Upton Sinclair
Maggiori informazioni sulla lista
Python